00001 /* 00002 * wxChecksums 00003 * Copyright (C) 2003-2004 Julien Couot 00004 * 00005 * This program is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU General Public License 00007 * as published by the Free Software Foundation; either version 2 00008 * of the License, or (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program; if not, write to the Free Software 00017 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 */ 00019 00020 /** 00021 * \file dlgBatchCreateConf.hpp 00022 * Configuration dialog for creating one checksums' file for each selected file. 00023 */ 00024 00025 #ifndef INC_DLGBATCHCREATECONF_HPP 00026 #define INC_DLGBATCHCREATECONF_HPP 00027 00028 //--------------------------------------------------------------------------- 00029 // For compilers that support precompilation, includes "wx.h". 00030 #include <wx/wxprec.h> 00031 00032 #ifdef __BORLANDC__ 00033 #pragma hdrstop 00034 #endif 00035 00036 #ifndef WX_PRECOMP 00037 // Include your minimal set of headers here, or wx.h 00038 #include <wx/wx.h> 00039 #endif 00040 00041 #include "dlgFilesSelector.hpp" 00042 #include "dlgBatchCreate.hpp" 00043 #include "fdftlmk.hpp" 00044 //--------------------------------------------------------------------------- 00045 00046 00047 /** 00048 * Dialog for choosing files from which a checksums' file will be create for 00049 * each of them. 00050 */ 00051 class dlgBatchCreationConf : public dlgFilesSelector 00052 { 00053 public: 00054 // Creates a new dialog. 00055 dlgBatchCreationConf(); 00056 00057 // Creates a new dialog. 00058 dlgBatchCreationConf(wxWindow* parent); 00059 00060 // Initializes the dialog. 00061 virtual void initialize(); 00062 00063 // Destructor. 00064 virtual ~dlgBatchCreationConf(); 00065 00066 // Creates and initializes the controls of the dialog. 00067 void createControls(); 00068 00069 00070 protected: 00071 /// Array of check boxes. 00072 WX_DEFINE_ARRAY(wxCheckBox*, ArrayCheckBox); 00073 00074 wxButton* btnOptions; ///< Button for editings options. 00075 ArrayCheckBox chkCkFileTypes; ///< Checkbox for select the type of checksums' file to create. 00076 wxArrayInt ckFileTypes; ///< Checksums' file types to create. 00077 dlgBatchCreation::Options options; ///< Options for <CODE>dlgBatchCreation</CODE>. 00078 00079 // Processes button OK (overrides the one defined in dlgFilesSelector). 00080 void btnOKClick(wxCommandEvent& event); 00081 // Processes button Options. 00082 void btnOptionsClick(wxCommandEvent& event); 00083 00084 /// Controls IDs 00085 enum 00086 { 00087 BTN_OPTIONS = DLG_FILESSELECTOR_ID_HIGHEST + 1 00088 }; 00089 00090 DECLARE_EVENT_TABLE() 00091 00092 private: 00093 DECLARE_DYNAMIC_CLASS(dlgBatchCreationConf) 00094 00095 public: 00096 // Gets the types of the checksums' file to create. 00097 wxArrayInt getChecksumsFileTypeToCreate() const; 00098 00099 // Gets the options for dlgBatchCreation. 00100 dlgBatchCreation::Options getOptions() const; 00101 00102 // Gets the root configuration key for parameters of this dialog 00103 virtual wxString getRootConfigKey(); 00104 00105 protected: 00106 // Gets the configuration key for the values of the checksums' files types check boxes. 00107 wxString getCkFileTypeCreateConfigKey(const int sumFileType); 00108 00109 // Gets the string for the specified UI element. 00110 virtual wxString getUIString(UIStrings id); 00111 00112 // Returns a set of filters for the "Add files" dialog. 00113 virtual wxFileDialogFilterMaker getFiltersForAddFilesDialog(); 00114 }; 00115 //--------------------------------------------------------------------------- 00116 00117 #endif // INC_DLGBATCHCREATECONF_HPP