Salome HOME
Prepare SALOME 2.2.6 installation
[tools/install.git] / src / SALOME_InstallWizard.hxx
index 23a24a3158ae55027bd95133221246111a899a6f..551e43c20fb513246462b9a7483854f758b5796b 100644 (file)
@@ -1,10 +1,9 @@
 //  File      : SALOME_InstallWizard.hxx
 //  Created   : Thu Dec 18 12:01:00 2002
 //  Author    : Vadim SANDLER
-//  Project   : PAL/SALOME
-//  Module    : InstallWizard
-//  Copyright : 2004 CEA
-//  $Header$ 
+//  Project   : SALOME
+//  Module    : Installation Wizard
+//  Copyright : 2004-2005 CEA
 
 #ifndef __SALOME_InstallWizard
 #define __SALOME_InstallWizard
@@ -37,6 +36,7 @@ class Dependancies
                 const long         tempsize, 
                 const QString&     def = QString::null,
                 const QString&     descr = QString::null,
+                const QString&     ctx = QString::null,
                 bool               pickup = false )
     : smbName( name ), 
       dependsOn( depend ), 
@@ -45,6 +45,7 @@ class Dependancies
       sizeTemp( tempsize ),
       defaultMode( def ),
       description( descr ),
+      context( ctx ),
       pickupEnv( pickup ) {}
 
   // gets symbolic name
@@ -57,6 +58,8 @@ class Dependancies
   long        getTempSize() const     { return sizeTemp;   }
   // gets product's description
   QString     getDescription() const  { return description; }
+  // gets product's context
+  QString     getContext() const      { return context; }
   // gets default mode
   QString     getDefault() const      { return defaultMode; }
   // returns true if this product needs to pick-up environment
@@ -70,6 +73,7 @@ class Dependancies
   long        sizeTemp;         // disk space for temporary files required
   QString     defaultMode;      // default installation mode
   QString     description;      // product's description
+  QString     context;          // product's context (salome sources, binaries or prerequisite)
   bool        pickupEnv;        // "Pick-up environment" flag
 };
 
@@ -83,7 +87,8 @@ class QTextBrowser;
 class QProcess;
 class QCheckBox;
 class QSplitter;
-
+class QMyCheckBox;
+class QProcessThread;
 class ProductsView;
 class ProgressView;
 class HelpWindow;
@@ -109,6 +114,9 @@ class SALOME_InstallWizard: public InstallWizard
   // set dependancies
   void setDependancies( QCheckListItem* item, Dependancies dep);
 
+  // process validation event (<val> is validation code)
+  void processValidateEvent( const int val, void* data );
+
  public slots:
   // polishing of the widget
   void polish();
@@ -170,8 +178,8 @@ class SALOME_InstallWizard: public InstallWizard
   QCheckListItem* findItem( const QString& sName );
   // sets progress state to Aborted
   void abort();
-  // clears and removes temporary directory
-  void clean();
+  // clears and (optionally) removes temporary directory
+  void clean(bool rmDir = false);
 
  protected slots:
   // reject slot
@@ -202,7 +210,7 @@ class SALOME_InstallWizard: public InstallWizard
   void onSelectionChanged();
   // called when user checks/unchecks any product item
   void onItemToggled( QCheckListItem* );
-  // <Select Sources>, <Select Binaries>, <Unselect All> buttons slot
+  // <SALOME sources>, <SALOME binaries>, <Unselect All> buttons slot
   void onProdBtn();
   // <More...> button slot
   void onMoreBtn();
@@ -255,8 +263,8 @@ class SALOME_InstallWizard: public InstallWizard
   ProductsView* productsView;   // products list view
   QTextBrowser* productsInfo;   // products info box
   QCheckBox*    prerequisites;  // <Auto check prerequisites products> checkbox
-  QPushButton*  selectSrcBtn;   // <Select Sources> button - NOT USED CURRENTLY
-  QPushButton*  selectBinBtn;   // <Select Binaries> button - NOT USED CURRENTLY
+  QMyCheckBox*  selectSrcBtn;   // <SALOME sources> check box 
+  QMyCheckBox*  selectBinBtn;   // <SALOME binaries> check box 
   QPushButton*  unselectBtn;    // <Unselect All> button
   // --> prestart page
   QWidget*      prestartPage;   // page itself
@@ -273,6 +281,8 @@ class SALOME_InstallWizard: public InstallWizard
   QWidget*      readmePage;     // page itself
   QTextEdit*    readme;         // Readme information window
   QPushButton*  runSalomeBtn;   // <Launch Salome> buttnon
+
+  QProcessThread* myThread;     // validation thread
 };
 
 #endif