Commit 5efb3f69 authored by Gildas Bazin's avatar Gildas Bazin

* modules/gui/wxwindows/*: added demuxdump support to the open dialog.
parent 56f56596
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* open.cpp : wxWindows plugin for vlc * open.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: open.cpp,v 1.6 2003/03/22 03:14:34 gbazin Exp $ * $Id: open.cpp,v 1.7 2003/03/29 01:50:12 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -80,6 +80,10 @@ enum ...@@ -80,6 +80,10 @@ enum
SoutEnable_Event, SoutEnable_Event,
SoutSettings_Event, SoutSettings_Event,
DemuxDump_Event,
DemuxDumpEnable_Event,
DemuxDumpBrowse_Event,
}; };
BEGIN_EVENT_TABLE(OpenDialog, wxDialog) BEGIN_EVENT_TABLE(OpenDialog, wxDialog)
...@@ -121,6 +125,12 @@ BEGIN_EVENT_TABLE(OpenDialog, wxDialog) ...@@ -121,6 +125,12 @@ BEGIN_EVENT_TABLE(OpenDialog, wxDialog)
/* Events generated by the stream output buttons */ /* Events generated by the stream output buttons */
EVT_CHECKBOX(SoutEnable_Event, OpenDialog::OnSoutEnable) EVT_CHECKBOX(SoutEnable_Event, OpenDialog::OnSoutEnable)
EVT_BUTTON(SoutSettings_Event, OpenDialog::OnSoutSettings) EVT_BUTTON(SoutSettings_Event, OpenDialog::OnSoutSettings)
/* Events generated by the demux dump buttons */
EVT_CHECKBOX(DemuxDumpEnable_Event, OpenDialog::OnDemuxDumpEnable)
EVT_TEXT(DemuxDump_Event, OpenDialog::OnDemuxDumpChange)
EVT_BUTTON(DemuxDumpBrowse_Event, OpenDialog::OnDemuxDumpBrowse)
END_EVENT_TABLE() END_EVENT_TABLE()
/***************************************************************************** /*****************************************************************************
...@@ -175,23 +185,51 @@ OpenDialog::OpenDialog( intf_thread_t *_p_intf, Interface *_p_main_interface, ...@@ -175,23 +185,51 @@ OpenDialog::OpenDialog( intf_thread_t *_p_intf, Interface *_p_main_interface,
/* Create Stream Output checkox */ /* Create Stream Output checkox */
wxFlexGridSizer *sout_sizer = new wxFlexGridSizer( 2, 1, 20 ); wxFlexGridSizer *sout_sizer = new wxFlexGridSizer( 2, 1, 20 );
wxCheckBox *checkbox = new wxCheckBox( panel, SoutEnable_Event, sout_checkbox = new wxCheckBox( panel, SoutEnable_Event,
_("Stream Output") ); _("Stream Output") );
checkbox->SetToolTip( _("Use VLC has a stream server") ); sout_checkbox->SetToolTip( _("Use VLC has a stream server") );
sout_sizer->Add( checkbox, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL ); sout_sizer->Add( sout_checkbox, 0,
wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL );
sout_button = new wxButton( panel, SoutSettings_Event, _("Settings...") ); sout_button = new wxButton( panel, SoutSettings_Event, _("Settings...") );
sout_button->Disable(); sout_button->Disable();
char *psz_sout = config_GetPsz( p_intf, "sout" ); char *psz_sout = config_GetPsz( p_intf, "sout" );
if( psz_sout && *psz_sout ) if( psz_sout && *psz_sout )
{ {
checkbox->SetValue(TRUE); sout_checkbox->SetValue(TRUE);
sout_button->Enable(); sout_button->Enable();
} }
if( psz_sout ) free( psz_sout ); if( psz_sout ) free( psz_sout );
sout_sizer->Add( sout_button, 1, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL ); sout_sizer->Add( sout_button, 1, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL );
/* Create Demux Dump checkox */
wxBoxSizer *demuxdump_sizer = new wxBoxSizer( wxHORIZONTAL );
demuxdump_checkbox = new wxCheckBox( panel, DemuxDumpEnable_Event,
_("Capture input stream") );
demuxdump_checkbox->SetToolTip(
_("Capture the stream you are playing to a file") );
demuxdump_textctrl = new wxTextCtrl( panel, DemuxDump_Event,
"", wxDefaultPosition, wxDefaultSize,
wxTE_PROCESS_ENTER);
demuxdump_button = new wxButton( panel, DemuxDumpBrowse_Event,
_("Browse...") );
char *psz_demuxdump = config_GetPsz( p_intf, "demuxdump-file" );
if( psz_demuxdump && *psz_demuxdump )
{
demuxdump_textctrl->SetValue( psz_demuxdump );
}
if( psz_demuxdump ) free( psz_demuxdump );
demuxdump_textctrl->Disable();
demuxdump_button->Disable();
demuxdump_sizer->Add( demuxdump_checkbox, 0,
wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, 10 );
demuxdump_sizer->Add( demuxdump_button, 0,
wxALL | wxALIGN_CENTER_VERTICAL, 10 );
demuxdump_sizer->Add( demuxdump_textctrl, 1, wxALL, 10 );
/* Separation */ /* Separation */
wxStaticLine *static_line = new wxStaticLine( panel, wxID_OK ); wxStaticLine *static_line = new wxStaticLine( panel, wxID_OK );
...@@ -201,6 +239,10 @@ OpenDialog::OpenDialog( intf_thread_t *_p_intf, Interface *_p_main_interface, ...@@ -201,6 +239,10 @@ OpenDialog::OpenDialog( intf_thread_t *_p_intf, Interface *_p_main_interface,
wxButton *cancel_button = new wxButton( panel, wxID_CANCEL, _("Cancel") ); wxButton *cancel_button = new wxButton( panel, wxID_CANCEL, _("Cancel") );
/* Update Disc panel */
wxCommandEvent dummy_event;
OnDiscTypeChange( dummy_event );
/* Update MRL */ /* Update MRL */
wxNotebookEvent event = wxNotebookEvent( wxEVT_NULL, 0, i_access_method ); wxNotebookEvent event = wxNotebookEvent( wxEVT_NULL, 0, i_access_method );
OnPageChange( event ); OnPageChange( event );
...@@ -216,6 +258,7 @@ OpenDialog::OpenDialog( intf_thread_t *_p_intf, Interface *_p_main_interface, ...@@ -216,6 +258,7 @@ OpenDialog::OpenDialog( intf_thread_t *_p_intf, Interface *_p_main_interface,
panel_sizer->Add( label, 0, wxEXPAND | wxALL, 5 ); panel_sizer->Add( label, 0, wxEXPAND | wxALL, 5 );
panel_sizer->Add( notebook_sizer, 1, wxEXPAND | wxALL, 5 ); panel_sizer->Add( notebook_sizer, 1, wxEXPAND | wxALL, 5 );
panel_sizer->Add( sout_sizer, 0, wxALIGN_LEFT | wxALL, 5 ); panel_sizer->Add( sout_sizer, 0, wxALIGN_LEFT | wxALL, 5 );
panel_sizer->Add( demuxdump_sizer, 0, wxEXPAND | wxALIGN_LEFT | wxALL, 5 );
panel_sizer->Add( static_line, 0, wxEXPAND | wxALL, 5 ); panel_sizer->Add( static_line, 0, wxEXPAND | wxALL, 5 );
panel_sizer->Add( button_sizer, 0, wxALIGN_LEFT | wxALL, 5 ); panel_sizer->Add( button_sizer, 0, wxALIGN_LEFT | wxALL, 5 );
panel_sizer->Layout(); panel_sizer->Layout();
...@@ -247,7 +290,6 @@ wxPanel *OpenDialog::FilePanel( wxWindow* parent ) ...@@ -247,7 +290,6 @@ wxPanel *OpenDialog::FilePanel( wxWindow* parent )
sizer->Add( browse_button, 0, wxALL, 5 ); sizer->Add( browse_button, 0, wxALL, 5 );
panel->SetSizerAndFit( sizer ); panel->SetSizerAndFit( sizer );
return panel; return panel;
} }
...@@ -293,11 +335,6 @@ wxPanel *OpenDialog::DiscPanel( wxWindow* parent ) ...@@ -293,11 +335,6 @@ wxPanel *OpenDialog::DiscPanel( wxWindow* parent )
sizer_row->Add( sizer, 0, wxEXPAND | wxALL, 5 ); sizer_row->Add( sizer, 0, wxEXPAND | wxALL, 5 );
panel->SetSizerAndFit( sizer_row ); panel->SetSizerAndFit( sizer_row );
/* Update Disc panel */
wxCommandEvent dummy_event;
OnDiscTypeChange( dummy_event );
return panel; return panel;
} }
...@@ -413,13 +450,6 @@ wxPanel *OpenDialog::NetPanel( wxWindow* parent ) ...@@ -413,13 +450,6 @@ wxPanel *OpenDialog::NetPanel( wxWindow* parent )
sizer_row->Add( sizer, 0, wxEXPAND | wxALL, 5 ); sizer_row->Add( sizer, 0, wxEXPAND | wxALL, 5 );
panel->SetSizerAndFit( sizer_row ); panel->SetSizerAndFit( sizer_row );
/* Update Net panel */
net_addrs[3]->SetValue( "http://" );
wxCommandEvent dummy_event;
dummy_event.SetId( NetRadio1_Event );
OnNetTypeChange( dummy_event );
return panel; return panel;
} }
...@@ -432,14 +462,25 @@ wxPanel *OpenDialog::SatPanel( wxWindow* parent ) ...@@ -432,14 +462,25 @@ wxPanel *OpenDialog::SatPanel( wxWindow* parent )
void OpenDialog::UpdateMRL( int i_access_method ) void OpenDialog::UpdateMRL( int i_access_method )
{ {
wxString demux;
i_current_access_method = i_access_method;
/* Check if the user asked for demuxdump */
if( demuxdump_checkbox->GetValue() )
{
demux = "/demuxdump";
}
switch( i_access_method ) switch( i_access_method )
{ {
case FILE_ACCESS: case FILE_ACCESS:
mrl = "file://" + file_combo->GetValue(); mrl = "file" + demux + "://" + file_combo->GetValue();
break; break;
case DISC_ACCESS: case DISC_ACCESS:
mrl = ( disc_type->GetSelection() == 0 ? "dvdold://" : mrl = ( disc_type->GetSelection() == 0 ? "dvdold" :
disc_type->GetSelection() == 1 ? "dvd://" : "vcd://" ) disc_type->GetSelection() == 1 ? "dvd" : "vcd" )
+ demux + "://"
+ disc_device->GetLineText(0) + disc_device->GetLineText(0)
+ wxString::Format( "@%d:%d", + wxString::Format( "@%d:%d",
disc_title->GetValue(), disc_title->GetValue(),
...@@ -452,17 +493,17 @@ void OpenDialog::UpdateMRL( int i_access_method ) ...@@ -452,17 +493,17 @@ void OpenDialog::UpdateMRL( int i_access_method )
if( net_ports[0]->GetValue() != if( net_ports[0]->GetValue() !=
config_GetInt( p_intf, "server-port" ) ) config_GetInt( p_intf, "server-port" ) )
{ {
mrl = wxString::Format( "udp://@:%d", mrl = "udp" + demux +
net_ports[0]->GetValue() ); wxString::Format( "://@:%d", net_ports[0]->GetValue() );
} }
else else
{ {
mrl = "udp://"; mrl = "udp" + demux + "://";
} }
break; break;
case 1: case 1:
mrl = "udp://@" + net_addrs[1]->GetLineText(0); mrl = "udp" + demux + "://@" + net_addrs[1]->GetLineText(0);
if( net_ports[1]->GetValue() != if( net_ports[1]->GetValue() !=
config_GetInt( p_intf, "server-port" ) ) config_GetInt( p_intf, "server-port" ) )
{ {
...@@ -472,17 +513,17 @@ void OpenDialog::UpdateMRL( int i_access_method ) ...@@ -472,17 +513,17 @@ void OpenDialog::UpdateMRL( int i_access_method )
break; break;
case 2: case 2:
mrl = "udp://"; mrl = "udp" + demux + "://";
break; break;
case 3: case 3:
/* http access */ /* http access */
mrl = net_addrs[3]->GetLineText(0); mrl = "http" + demux + "://" + net_addrs[3]->GetLineText(0);
break; break;
} }
break; break;
case SAT_ACCESS: case SAT_ACCESS:
mrl = "satellite://"; mrl = "satellite" + demux + "://";
break; break;
default: default:
break; break;
...@@ -613,6 +654,13 @@ void OpenDialog::OnSoutEnable( wxCommandEvent& event ) ...@@ -613,6 +654,13 @@ void OpenDialog::OnSoutEnable( wxCommandEvent& event )
{ {
config_PutPsz( p_intf, "sout", "" ); config_PutPsz( p_intf, "sout", "" );
} }
else
{
demuxdump_checkbox->SetValue( 0 );
wxCommandEvent event = wxCommandEvent( wxEVT_NULL );
event.SetInt( 0 );
OnDemuxDumpEnable( event );
}
} }
void OpenDialog::OnSoutSettings( wxCommandEvent& WXUNUSED(event) ) void OpenDialog::OnSoutSettings( wxCommandEvent& WXUNUSED(event) )
...@@ -625,3 +673,40 @@ void OpenDialog::OnSoutSettings( wxCommandEvent& WXUNUSED(event) ) ...@@ -625,3 +673,40 @@ void OpenDialog::OnSoutSettings( wxCommandEvent& WXUNUSED(event) )
config_PutPsz( p_intf, "sout", (char *)dialog.mrl.c_str() ); config_PutPsz( p_intf, "sout", (char *)dialog.mrl.c_str() );
} }
} }
/*****************************************************************************
* Demux dump event methods.
*****************************************************************************/
void OpenDialog::OnDemuxDumpEnable( wxCommandEvent& event )
{
demuxdump_textctrl->Enable( event.GetInt() != 0 );
demuxdump_button->Enable( event.GetInt() != 0 );
if( event.GetInt() )
{
sout_checkbox->SetValue( 0 );
wxCommandEvent event = wxCommandEvent( wxEVT_NULL );
event.SetInt( 0 );
OnSoutEnable( event );
}
UpdateMRL( i_current_access_method );
}
void OpenDialog::OnDemuxDumpBrowse( wxCommandEvent& WXUNUSED(event) )
{
wxFileDialog dialog( this, _("Save file"), "", "", "*.*", wxSAVE );
if( dialog.ShowModal() == wxID_OK )
{
demuxdump_textctrl->SetValue( dialog.GetPath() );
wxCommandEvent event = wxCommandEvent( wxEVT_NULL );
OnDemuxDumpChange( event );
}
}
void OpenDialog::OnDemuxDumpChange( wxCommandEvent& WXUNUSED(event) )
{
config_PutPsz( p_intf, "demuxdump-file",
demuxdump_textctrl->GetValue() );
}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* preferences.cpp : wxWindows plugin for vlc * preferences.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: preferences.cpp,v 1.1 2003/03/26 00:56:22 gbazin Exp $ * $Id: preferences.cpp,v 1.2 2003/03/29 01:50:12 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -41,12 +41,15 @@ ...@@ -41,12 +41,15 @@
#include <wx/wxprec.h> #include <wx/wxprec.h>
#include <wx/wx.h> #include <wx/wx.h>
#include <wx/window.h>
#include <wx/notebook.h> #include <wx/notebook.h>
#include <wx/textctrl.h> #include <wx/textctrl.h>
#include <wx/combobox.h> #include <wx/combobox.h>
#include <wx/spinctrl.h> #include <wx/spinctrl.h>
#include <wx/statline.h> #include <wx/statline.h>
#include <wx/treectrl.h> #include <wx/treectrl.h>
#include <wx/clntdata.h>
#include <wx/dynarray.h>
#include <vlc/intf.h> #include <vlc/intf.h>
...@@ -80,6 +83,8 @@ private: ...@@ -80,6 +83,8 @@ private:
wxWindow *p_parent; wxWindow *p_parent;
}; };
WX_DEFINE_ARRAY(wxEvtHandler *, ArrayOfControls);
class PrefsPanel : public wxScrolledWindow class PrefsPanel : public wxScrolledWindow
{ {
public: public:
...@@ -95,19 +100,33 @@ private: ...@@ -95,19 +100,33 @@ private:
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
intf_thread_t *p_intf; intf_thread_t *p_intf;
ArrayOfControls controls_array;
}; };
class ConfigData : public wxTreeItemData class ConfigTreeData : public wxTreeItemData
{ {
public: public:
ConfigData() { panel == NULL; } ConfigTreeData() { panel == NULL; }
virtual ~ConfigData() { if( panel ) delete panel; } virtual ~ConfigTreeData() { if( panel ) delete panel; }
wxWindow *panel; wxWindow *panel;
wxBoxSizer *sizer; wxBoxSizer *sizer;
}; };
class ConfigData : public wxClientData
{
public:
ConfigData() { b_advanced = VLC_FALSE; }
ConfigData( vlc_bool_t _b_advanced ) { b_advanced = _b_advanced; }
virtual ~ConfigData() { }
vlc_bool_t IsAdvanced() { return b_advanced; }
private:
vlc_bool_t b_advanced;
};
/***************************************************************************** /*****************************************************************************
* Event Table. * Event Table.
*****************************************************************************/ *****************************************************************************/
...@@ -222,16 +241,16 @@ void PrefsDialog::OnCancel( wxCommandEvent& WXUNUSED(event) ) ...@@ -222,16 +241,16 @@ void PrefsDialog::OnCancel( wxCommandEvent& WXUNUSED(event) )
void PrefsTreeCtrl::OnSelectTreeItem( wxTreeEvent& event ) void PrefsTreeCtrl::OnSelectTreeItem( wxTreeEvent& event )
{ {
ConfigData *config_data; ConfigTreeData *config_data;
config_data = (ConfigData *)GetItemData( event.GetOldItem() ); config_data = (ConfigTreeData *)GetItemData( event.GetOldItem() );
if( config_data && config_data->panel ) if( config_data && config_data->panel )
{ {
config_data->panel->Hide(); config_data->panel->Hide();
p_sizer->Remove( config_data->panel ); p_sizer->Remove( config_data->panel );
} }
config_data = (ConfigData *)GetItemData( event.GetItem() ); config_data = (ConfigTreeData *)GetItemData( event.GetItem() );
if( config_data && config_data->panel ) if( config_data && config_data->panel )
{ {
config_data->panel->Show(); config_data->panel->Show();
...@@ -320,7 +339,7 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf, ...@@ -320,7 +339,7 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf,
switch( p_item->i_type ) switch( p_item->i_type )
{ {
case CONFIG_HINT_CATEGORY: case CONFIG_HINT_CATEGORY:
ConfigData *config_data = new ConfigData; ConfigTreeData *config_data = new ConfigTreeData;
config_data->panel = config_data->panel =
new PrefsPanel( p_parent, p_intf, new PrefsPanel( p_parent, p_intf,
p_module, p_item->psz_text ); p_module, p_item->psz_text );
...@@ -368,7 +387,7 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf, ...@@ -368,7 +387,7 @@ PrefsTreeCtrl::PrefsTreeCtrl( wxWindow *_p_parent, intf_thread_t *_p_intf,
} }
/* Add the plugin to the tree */ /* Add the plugin to the tree */
ConfigData *config_data = new ConfigData; ConfigTreeData *config_data = new ConfigTreeData;
config_data->panel = config_data->panel =
new PrefsPanel( p_parent, p_intf, p_module, NULL ); new PrefsPanel( p_parent, p_intf, p_module, NULL );
config_data->panel->Hide(); config_data->panel->Hide();
...@@ -408,6 +427,9 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, ...@@ -408,6 +427,9 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
: wxScrolledWindow( parent, -1, wxDefaultPosition, wxDefaultSize ) : wxScrolledWindow( parent, -1, wxDefaultPosition, wxDefaultSize )
{ {
module_config_t *p_item; module_config_t *p_item;
vlc_list_t *p_list;
module_t *p_parser;
wxStaticText *label; wxStaticText *label;
wxComboBox *combo; wxComboBox *combo;
wxRadioButton *radio; wxRadioButton *radio;
...@@ -417,6 +439,8 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, ...@@ -417,6 +439,8 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
wxButton *button; wxButton *button;
wxStaticLine *static_line; wxStaticLine *static_line;
wxBoxSizer *horizontal_sizer; wxBoxSizer *horizontal_sizer;
wxSortedArrayString sorted_array;
wxArrayString array;
/* Initializations */ /* Initializations */
p_intf = _p_intf; p_intf = _p_intf;
...@@ -473,11 +497,24 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, ...@@ -473,11 +497,24 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
break; break;
case CONFIG_ITEM_MODULE: case CONFIG_ITEM_MODULE:
label = new wxStaticText(this, -1, p_item->psz_text);
combo = new wxComboBox( this, -1, p_item->psz_value,
wxDefaultPosition, wxSize(200,-1),
0, NULL );
/* build a list of available modules */ /* build a list of available modules */
p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
for( int i_index = 0; i_index < p_list->i_count; i_index++ )
{
p_parser = (module_t *)p_list->p_values[i_index].p_object ;
if( !strcmp( p_parser->psz_capability,
p_item->psz_type ) )
{
combo->Append( p_parser->psz_longname );
}
}
label = new wxStaticText(this, -1, p_item->psz_text);
combo = new wxComboBox( this, -1, "", wxPoint(20,25),
wxSize(120, -1), 0, NULL );
combo->SetToolTip( p_item->psz_longtext ); combo->SetToolTip( p_item->psz_longtext );
horizontal_sizer = new wxBoxSizer( wxHORIZONTAL ); horizontal_sizer = new wxBoxSizer( wxHORIZONTAL );
horizontal_sizer->Add( label, 0, wxALL, 5 ); horizontal_sizer->Add( label, 0, wxALL, 5 );
...@@ -488,13 +525,9 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, ...@@ -488,13 +525,9 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
case CONFIG_ITEM_STRING: case CONFIG_ITEM_STRING:
case CONFIG_ITEM_FILE: case CONFIG_ITEM_FILE:
label = new wxStaticText(this, -1, p_item->psz_text); label = new wxStaticText(this, -1, p_item->psz_text);
textctrl = new wxTextCtrl( this, -1, "", textctrl = new wxTextCtrl( this, -1, p_item->psz_value,
wxDefaultPosition, wxDefaultSize, wxDefaultPosition, wxDefaultSize,
wxTE_PROCESS_ENTER); wxTE_PROCESS_ENTER);
#if 0
combo = new wxComboBox( this, -1, "", wxPoint(20,25),
wxSize(120, -1), 0, NULL );
#endif
textctrl->SetToolTip( p_item->psz_longtext ); textctrl->SetToolTip( p_item->psz_longtext );
horizontal_sizer = new wxBoxSizer( wxHORIZONTAL ); horizontal_sizer = new wxBoxSizer( wxHORIZONTAL );
horizontal_sizer->Add( label, 0, wxALL, 5 ); horizontal_sizer->Add( label, 0, wxALL, 5 );
...@@ -509,10 +542,11 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, ...@@ -509,10 +542,11 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
case CONFIG_ITEM_INTEGER: case CONFIG_ITEM_INTEGER:
label = new wxStaticText(this, -1, p_item->psz_text); label = new wxStaticText(this, -1, p_item->psz_text);
spin = new wxSpinCtrl( this, -1, p_item->psz_text, spin = new wxSpinCtrl( this, -1,
wxString::Format(_("%d"), p_item->i_value),
wxDefaultPosition, wxDefaultSize, wxDefaultPosition, wxDefaultSize,
wxSP_ARROW_KEYS, wxSP_ARROW_KEYS,
0, 16000, 8); 0, 16000, p_item->i_value);
spin->SetToolTip( p_item->psz_longtext ); spin->SetToolTip( p_item->psz_longtext );
horizontal_sizer = new wxBoxSizer( wxHORIZONTAL ); horizontal_sizer = new wxBoxSizer( wxHORIZONTAL );
horizontal_sizer->Add( label, 0, wxALL, 5 ); horizontal_sizer->Add( label, 0, wxALL, 5 );
...@@ -522,10 +556,11 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, ...@@ -522,10 +556,11 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
case CONFIG_ITEM_FLOAT: case CONFIG_ITEM_FLOAT:
label = new wxStaticText(this, -1, p_item->psz_text); label = new wxStaticText(this, -1, p_item->psz_text);
spin = new wxSpinCtrl( this, -1, p_item->psz_text, spin = new wxSpinCtrl( this, -1,
wxString::Format(_("%d"), p_item->i_value),
wxDefaultPosition, wxDefaultSize, wxDefaultPosition, wxDefaultSize,
wxSP_ARROW_KEYS, wxSP_ARROW_KEYS,
0, 16000, 8); 0, 16000, p_item->i_value);
spin->SetToolTip( p_item->psz_longtext ); spin->SetToolTip( p_item->psz_longtext );
horizontal_sizer = new wxBoxSizer( wxHORIZONTAL ); horizontal_sizer = new wxBoxSizer( wxHORIZONTAL );
horizontal_sizer->Add( label, 0, wxALL, 5 ); horizontal_sizer->Add( label, 0, wxALL, 5 );
...@@ -535,6 +570,7 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf, ...@@ -535,6 +570,7 @@ PrefsPanel::PrefsPanel( wxWindow* parent, intf_thread_t *_p_intf,
case CONFIG_ITEM_BOOL: case CONFIG_ITEM_BOOL:
checkbox = new wxCheckBox( this, -1, p_item->psz_text ); checkbox = new wxCheckBox( this, -1, p_item->psz_text );
if( p_item->i_value ) checkbox->SetValue(TRUE);
checkbox->SetToolTip( p_item->psz_longtext ); checkbox->SetToolTip( p_item->psz_longtext );
horizontal_sizer = new wxBoxSizer( wxHORIZONTAL ); horizontal_sizer = new wxBoxSizer( wxHORIZONTAL );
horizontal_sizer->Add( checkbox, 0, wxALL, 5 ); horizontal_sizer->Add( checkbox, 0, wxALL, 5 );
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* wxwindows.h: private wxWindows interface description * wxwindows.h: private wxWindows interface description
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * Copyright (C) 1999, 2000 VideoLAN
* $Id: wxwindows.h,v 1.11 2003/03/26 00:56:22 gbazin Exp $ * $Id: wxwindows.h,v 1.12 2003/03/29 01:50:12 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -205,10 +205,16 @@ private: ...@@ -205,10 +205,16 @@ private:
void OnSoutEnable( wxCommandEvent& event ); void OnSoutEnable( wxCommandEvent& event );
void OnSoutSettings( wxCommandEvent& WXUNUSED(event) ); void OnSoutSettings( wxCommandEvent& WXUNUSED(event) );
/* Event handlers for the demux dump */
void OnDemuxDumpEnable( wxCommandEvent& event );
void OnDemuxDumpBrowse( wxCommandEvent& event );
void OnDemuxDumpChange( wxCommandEvent& event );
DECLARE_EVENT_TABLE(); DECLARE_EVENT_TABLE();
intf_thread_t *p_intf; intf_thread_t *p_intf;
Interface *p_main_interface; Interface *p_main_interface;
int i_current_access_method;
wxComboBox *mrl_combo; wxComboBox *mrl_combo;
...@@ -231,6 +237,12 @@ private: ...@@ -231,6 +237,12 @@ private:
/* Controls for the stream output */ /* Controls for the stream output */
wxButton *sout_button; wxButton *sout_button;
wxCheckBox *sout_checkbox;
/* Controls for the demux dump */
wxTextCtrl *demuxdump_textctrl;
wxButton *demuxdump_button;
wxCheckBox *demuxdump_checkbox;
}; };
enum enum
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment