Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

build_progress_dialog.h

Go to the documentation of this file.
      00001 //----------------------------------------------------------------------------------------
      00011 // RCS-ID:      $Id: build_progress_dialog.h,v 1.4 2003/02/13 02:40:38 robertoconnor Exp $
      00012 //----------------------------------------------------------------------------------------
      00013 
      00014 //----------------------------------------------------------------------------------------
      00015 // Begin single inclusion of this .h file condition
      00016 //----------------------------------------------------------------------------------------
      00017 
      00018 #ifndef _BUILD_PROGRESS_DIALOG_H_
      00019 #define _BUILD_PROGRESS_DIALOG_H_
      00020 
      00021 //----------------------------------------------------------------------------------------
      00022 // GCC interface
      00023 //----------------------------------------------------------------------------------------
      00024 
      00025 #if defined(__GNUG__) && ! defined(__APPLE__)
      00026     #pragma interface "build_progress_dialog.h"
      00027 #endif
      00028 
      00029 //----------------------------------------------------------------------------------------
      00030 // Shared defines
      00031 //----------------------------------------------------------------------------------------
      00032 
      00033 #include "plucker_defines.h"
      00034 
      00035 //----------------------------------------------------------------------------------------
      00036 // Begin feature removal condition
      00037 //----------------------------------------------------------------------------------------
      00038 
      00039 #if ( setupUSE_ENHANCED_PROGRESS_DIALOG )
      00040 
      00041 //----------------------------------------------------------------------------------------
      00042 // Headers
      00043 //----------------------------------------------------------------------------------------
      00044 
      00045 #include "process_progress_dialog.h"
      00046 
      00047 //----------------------------------------------------------------------------------------
      00048 // Class definition: build_progress_dialog
      00049 //----------------------------------------------------------------------------------------
      00050 
      00052 
      00062 class build_progress_dialog : public process_progress_dialog
00063 {
00064 
00065 public: 
00066  
00068 
00072     build_progress_dialog( wxWindow* parent,
00073                      const wxArrayString& channel_sections_array,
00074                      const wxArrayString& commandline_array, 
00075                      long stream_kind = optionPROCESS_PROGRESS_DIALOG_STDOUT_STREAM_KIND    |
00076                                         optionPROCESS_PROGRESS_DIALOG_STDERR_STREAM_KIND,
00077                      wxSignal kill_signal = wxSIGKILL,   
00078                      bool automatically_close_when_done = TRUE,
00079                      const wxString& show_hide_listbox_configuration_key = wxEmptyString,
00080                      const wxString& log_filename = wxEmptyString,
00081 #if ( setupUSE_MSW_FORCE_COMMANDLINE_AUTOCLOSE_PROGRESS_CLOSURE )
00082                      long force_commandline_autoclose = 0,
00083 #endif
00084                      const wxString& log_path = wxEmptyString,
00085                      long scroll_history = optionDETAILS_PROGRESS_LISTBOX_RECOMMENDED_SCROLL_HISTORY
00086                      );
00087 
00089     virtual ~build_progress_dialog();
00090 
00091     // Described in process_progress_dialog
00092 
00093     virtual bool on_before_execute_commandline_array();
00094    
00095     virtual bool on_before_execute_commandline_array_item( size_t commandline_array_index );
00096     
00097     virtual bool on_after_commandline_array_item_execution_finished( size_t commandline_array_index );
00098 
00099     virtual bool on_after_commandline_array_executions_finished();
00100 
00101     void on_process_generated_an_output_line( long stream_kind,
00102                                               const wxString& line_text,
00103                                               size_t commandline_array_index
00104                                             );
00105 
00106     // From details_progress_dialog()
00107     void action_to_do_after_dialog_finishes_closing();
00108 
00109     void custom_kill( long pid,
00110                       wxSignal sig,
00111                       wxKillError *krc
00112                     );
00113 private:
00114 
00115     wxArrayString m_channel_sections_array;
00116 
00118 
00124     void send_to_destinations_and_inform( wxArrayString& section_to_install );
00125 
00126 #if ( setupUSE_MSW_FORCE_COMMANDLINE_AUTOCLOSE_PROGRESS_CLOSURE )
00127 
00128     long m_force_commandline_autoclose;
00129 #endif
00130 
00131     DECLARE_EVENT_TABLE()
00132 };
00133 
00134 //----------------------------------------------------------------------------------------
00135 // End feature removal condition
00136 //----------------------------------------------------------------------------------------
00137 
00138 #endif  // setupUSE_ENHANCED_PROGRESS_DIALOG
00139 
00140 //----------------------------------------------------------------------------------------
00141 // End single inclusion of this .h file condition
00142 //----------------------------------------------------------------------------------------
00143 
00144 #endif  //_BUILD_PROGRESS_DIALOG_H_