00001 //----------------------------------------------------------------------------------------
00011 // RCS-ID: $Id: showcase_dialog.h,v 1.16 2002/09/10 18:07:56 robertoconnor Exp $
00012 //----------------------------------------------------------------------------------------
00013
00014 //----------------------------------------------------------------------------------------
00015 // Begin single inclusion of this .h file condition
00016 //----------------------------------------------------------------------------------------
00017
00018 #ifndef _SHOWCASE_DIALOG_H_
00019 #define _SHOWCASE_DIALOG_H_
00020
00021 //----------------------------------------------------------------------------------------
00022 // GCC interface
00023 //----------------------------------------------------------------------------------------
00024
00025 #if defined(__GNUG__) && ! defined(__APPLE__)
00026 #pragma interface "showcase_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_SHOWCASE )
00040
00041 //----------------------------------------------------------------------------------------
00042 // Headers
00043 //----------------------------------------------------------------------------------------
00044
00045 #include "wx/dialog.h"
00046 #include "wx/listctrl.h"
00047 #include "wx/splitter.h"
00048 #include "wx/html/htmlwin.h"
00049
00050 #include "showcase_listctrl.h"
00051 // Chicken and egg
00052 class showcase_splitterwindow;
00053 #include "showcase_splitterwindow.h"
00054
00055 //----------------------------------------------------------------------------------------
00056 // Class definition: showcase_dialog
00057 //----------------------------------------------------------------------------------------
00058
00060
00064 class showcase_dialog : public wxDialog
00065 {
00066
00067 public:
00068
00070
00073 showcase_dialog( wxWindow* parent );
00074
00076 ~showcase_dialog();
00077
00079
00082 void transfer_to( wxString& name,
00083 wxString& url,
00084 wxString& description,
00085 wxString& language,
00086 wxString& category,
00087 long& update_frequency,
00088 wxString& update_period,
00089 wxDateTime& update_base,
00090 bool& update_enabled,
00091 long& bpp,
00092 long& maxdepth,
00093 bool& stayonhost,
00094 bool& stayondomain,
00095 wxString& url_pattern
00096 );
00097
00099
00103 void on_splitter_sash_position_changed( int sash_position );
00104
00105 private:
00106
00107 void read_configuration();
00108 void write_configuration();
00109
00110 void listctrl_init();
00111 void listctrl_stretch_columns_to_fit();
00112 void init_splitters();
00113 void load_details_htmlwindow_content( long item_id );
00114 void load_preview_htmlwindow_content( wxString url );
00115
00116 void on_listctrl_item_selected( wxListEvent& event );
00117 void on_update_ui_preview_checkbox( wxUpdateUIEvent& event );
00118 void on_update_ui_details_checkbox( wxUpdateUIEvent& event );
00119 // Override base class functions
00120 void OnOK( wxCommandEvent& event );
00121 void OnSize( wxSizeEvent& event );
00122 void on_help_button( wxCommandEvent& event );
00123
00124 // An array of the showcase field names.
00125 wxArrayString m_showcase_field_names;
00126
00127 // Controls not in XML resources. The <unknown> class in XML resource is the
00128 // placeholder container that is used by the main_splitterwindow, and the others
00129 // being children of main_splitterwindow.
00130 showcase_listctrl* m_showcase_listctrl;
00131 showcase_splitterwindow* m_showcase_splitterwindow;
00132
00133 wxSplitterWindow* details_preview_splitterwindow;
00134 wxHtmlWindow* details_htmlwindow;
00135 wxHtmlWindow* preview_htmlwindow;
00136
00137 wxHtmlWindow* dummy_htmlwindow; // A dummy htmlwindow to parse showcase file
00138
00139 DECLARE_EVENT_TABLE()
00140 };
00141
00142 //----------------------------------------------------------------------------------------
00143 // End feature removal condition
00144 //----------------------------------------------------------------------------------------
00145
00146 #endif // setupUSE_SHOWCASE
00147
00148 //----------------------------------------------------------------------------------------
00149 // End single inclusion of this .h file condition
00150 //----------------------------------------------------------------------------------------
00151
00152 #endif //_SHOWCASE_DIALOG_H_