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_