Commit 4e4b0967 authored by Gildas Bazin's avatar Gildas Bazin

* modules/gui/skins/*, modules/gui/wxwindows/*: added the wxWin popup menu to the skins interface.
parent 6350ac81
...@@ -118,6 +118,7 @@ SOURCES_skins = \ ...@@ -118,6 +118,7 @@ SOURCES_skins = \
modules/gui/wxwindows/preferences.cpp \ modules/gui/wxwindows/preferences.cpp \
modules/gui/wxwindows/streamout.cpp \ modules/gui/wxwindows/streamout.cpp \
modules/gui/wxwindows/subtitles.cpp \ modules/gui/wxwindows/subtitles.cpp \
modules/gui/wxwindows/menus.cpp \
$(NULL) $(NULL)
SOURCES_basic_skins = \ SOURCES_basic_skins = \
......
...@@ -2,10 +2,9 @@ ...@@ -2,10 +2,9 @@
* dialogs.cpp: Handles all the different dialog boxes we provide. * dialogs.cpp: Handles all the different dialog boxes we provide.
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 VideoLAN * Copyright (C) 2003 VideoLAN
* $Id: dialogs.cpp,v 1.2 2003/06/04 16:03:33 gbazin Exp $ * $Id: dialogs.cpp,v 1.3 2003/06/05 21:22:27 gbazin Exp $
* *
* Authors: Olivier Teulire <ipkiss@via.ecp.fr> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* Emmanuel Puig <karibu@via.ecp.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
...@@ -66,6 +65,7 @@ void Dialogs::ShowFileInfo(){} ...@@ -66,6 +65,7 @@ void Dialogs::ShowFileInfo(){}
#define ShowMessages_Event 2 #define ShowMessages_Event 2
#define ShowPrefs_Event 3 #define ShowPrefs_Event 3
#define ShowFileInfo_Event 4 #define ShowFileInfo_Event 4
#define ShowPopup_Event 5
#define ExitThread_Event 99 #define ExitThread_Event 99
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
...@@ -103,6 +103,7 @@ BEGIN_EVENT_TABLE(Instance, wxApp) ...@@ -103,6 +103,7 @@ BEGIN_EVENT_TABLE(Instance, wxApp)
EVT_COMMAND(ShowMessages_Event, wxEVT_DIALOG, Dialogs::OnShowMessages) EVT_COMMAND(ShowMessages_Event, wxEVT_DIALOG, Dialogs::OnShowMessages)
EVT_COMMAND(ShowPrefs_Event, wxEVT_DIALOG, Dialogs::OnShowPrefs) EVT_COMMAND(ShowPrefs_Event, wxEVT_DIALOG, Dialogs::OnShowPrefs)
EVT_COMMAND(ShowFileInfo_Event, wxEVT_DIALOG, Dialogs::OnShowFileInfo) EVT_COMMAND(ShowFileInfo_Event, wxEVT_DIALOG, Dialogs::OnShowFileInfo)
EVT_COMMAND(ShowPopup_Event, wxEVT_DIALOG, Dialogs::OnShowPopup)
EVT_COMMAND(ExitThread_Event, wxEVT_DIALOG, Dialogs::OnExitThread) EVT_COMMAND(ExitThread_Event, wxEVT_DIALOG, Dialogs::OnExitThread)
END_EVENT_TABLE() END_EVENT_TABLE()
...@@ -165,6 +166,10 @@ bool Instance::OnInit() ...@@ -165,6 +166,10 @@ bool Instance::OnInit()
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
} }
/* Intercept all menu events in our custom event handler */
p_intf->p_sys->p_dialogs->OpenDlg->PushEventHandler(
new MenuEvtHandler( p_intf, NULL ) );
return TRUE; return TRUE;
} }
...@@ -381,6 +386,20 @@ void Dialogs::OnShowFileInfo( wxCommandEvent& event ) ...@@ -381,6 +386,20 @@ void Dialogs::OnShowFileInfo( wxCommandEvent& event )
p_dialogs->FileInfoDlg->Show( !p_dialogs->FileInfoDlg->IsShown() ); p_dialogs->FileInfoDlg->Show( !p_dialogs->FileInfoDlg->IsShown() );
} }
void Dialogs::OnShowPopup( wxCommandEvent& event )
{
Dialogs *p_dialogs = (Dialogs *)event.GetClientData();
wxPoint mousepos = wxGetMousePosition();
wxMouseEvent mouseevent = wxMouseEvent( wxEVT_RIGHT_UP );
mouseevent.m_x = p_dialogs->OpenDlg->ScreenToClient(mousepos).x;
mouseevent.m_y = p_dialogs->OpenDlg->ScreenToClient(mousepos).y;
::PopupMenu( p_dialogs->p_intf,
p_dialogs->OpenDlg, mouseevent.GetPosition() );
}
void Dialogs::OnExitThread( wxCommandEvent& event ) void Dialogs::OnExitThread( wxCommandEvent& event )
{ {
wxTheApp->ExitMainLoop(); wxTheApp->ExitMainLoop();
...@@ -397,7 +416,12 @@ int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable, ...@@ -397,7 +416,12 @@ int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable,
{ {
Dialogs *p_dialogs = (Dialogs *)param; Dialogs *p_dialogs = (Dialogs *)param;
p_dialogs->b_popup_change = VLC_TRUE; #ifndef BASIC_SKINS
wxCommandEvent event( wxEVT_DIALOG, ShowPopup_Event );
event.SetClientData( p_dialogs );
wxTheApp->AddPendingEvent( event );
#endif // BASIC_SKINS
return VLC_SUCCESS; return VLC_SUCCESS;
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* dialogs.h: Dialogs class * dialogs.h: Dialogs class
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 VideoLAN * Copyright (C) 2003 VideoLAN
* $Id: dialogs.h,v 1.2 2003/06/04 16:03:33 gbazin Exp $ * $Id: dialogs.h,v 1.3 2003/06/05 21:22:27 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -93,6 +93,7 @@ class Dialogs ...@@ -93,6 +93,7 @@ class Dialogs
void OnShowMessages( wxCommandEvent& event ); void OnShowMessages( wxCommandEvent& event );
void OnShowPrefs( wxCommandEvent& event ); void OnShowPrefs( wxCommandEvent& event );
void OnShowFileInfo( wxCommandEvent& event ); void OnShowFileInfo( wxCommandEvent& event );
void OnShowPopup( wxCommandEvent& event );
void OnExitThread( wxCommandEvent& event ); void OnExitThread( wxCommandEvent& event );
#endif #endif
}; };
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* skin_common.h: Private Skin interface description * skin_common.h: Private Skin interface description
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 VideoLAN * Copyright (C) 2003 VideoLAN
* $Id: skin_common.h,v 1.14 2003/06/04 16:03:33 gbazin Exp $ * $Id: skin_common.h,v 1.15 2003/06/05 21:22:27 gbazin Exp $
* *
* Authors: Olivier Teulire <ipkiss@via.ecp.fr> * Authors: Olivier Teulire <ipkiss@via.ecp.fr>
* Emmanuel Puig <karibu@via.ecp.fr> * Emmanuel Puig <karibu@via.ecp.fr>
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
class Theme; class Theme;
class Dialogs; class Dialogs;
class wxMenu;
class wxIcon; class wxIcon;
#ifdef X11_SKINS #ifdef X11_SKINS
...@@ -67,6 +68,12 @@ struct intf_sys_t ...@@ -67,6 +68,12 @@ struct intf_sys_t
// Interface dialogs // Interface dialogs
Dialogs *p_dialogs; Dialogs *p_dialogs;
// Popup menu
vlc_bool_t b_popup_change;
#ifndef BASIC_SKINS
wxMenu *p_popup_menu;
#endif
#ifndef BASIC_SKINS #ifndef BASIC_SKINS
wxIcon *p_icon; wxIcon *p_icon;
#endif #endif
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* themeloader.cpp: ThemeLoader class * themeloader.cpp: ThemeLoader class
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 VideoLAN * Copyright (C) 2003 VideoLAN
* $Id: themeloader.cpp,v 1.10 2003/05/24 20:54:27 gbazin Exp $ * $Id: themeloader.cpp,v 1.11 2003/06/05 21:22:27 gbazin Exp $
* *
* Authors: Olivier Teulire <ipkiss@via.ecp.fr> * Authors: Olivier Teulire <ipkiss@via.ecp.fr>
* Emmanuel Puig <karibu@via.ecp.fr> * Emmanuel Puig <karibu@via.ecp.fr>
...@@ -334,7 +334,7 @@ int tar_extract_all( TAR *t, char *prefix ) ...@@ -334,7 +334,7 @@ int tar_extract_all( TAR *t, char *prefix )
if(len != BLOCKSIZE) if(len != BLOCKSIZE)
{ {
fprintf(stderr, "gzread: incomplete block read"); fprintf(stderr, "gzread: incomplete block read");
return -1; //return -1;
} }
/* /*
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* fileinfo.cpp : wxWindows plugin for vlc * fileinfo.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: fileinfo.cpp,v 1.14 2003/05/12 17:33:19 gbazin Exp $ * $Id: fileinfo.cpp,v 1.15 2003/06/05 21:22:27 gbazin Exp $
* *
* Authors: Sigmund Augdal <sigmunau@idi.ntnu.no> * Authors: Sigmund Augdal <sigmunau@idi.ntnu.no>
* *
...@@ -73,8 +73,8 @@ END_EVENT_TABLE() ...@@ -73,8 +73,8 @@ END_EVENT_TABLE()
/***************************************************************************** /*****************************************************************************
* Constructor. * Constructor.
*****************************************************************************/ *****************************************************************************/
FileInfo::FileInfo( intf_thread_t *_p_intf, Interface *_p_main_interface ): FileInfo::FileInfo( intf_thread_t *_p_intf, wxWindow *p_parent ):
wxFrame( _p_main_interface, -1, wxU(_("FileInfo")), wxDefaultPosition, wxFrame( p_parent, -1, wxU(_("FileInfo")), wxDefaultPosition,
wxDefaultSize, wxDEFAULT_FRAME_STYLE ) wxDefaultSize, wxDEFAULT_FRAME_STYLE )
{ {
/* Initializations */ /* Initializations */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* interface.cpp : wxWindows plugin for vlc * interface.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: interface.cpp,v 1.36 2003/05/27 11:35:34 gbazin Exp $ * $Id: interface.cpp,v 1.37 2003/06/05 21:22:27 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -171,8 +171,6 @@ Interface::Interface( intf_thread_t *_p_intf ): ...@@ -171,8 +171,6 @@ Interface::Interface( intf_thread_t *_p_intf ):
p_prefs_dialog = NULL; p_prefs_dialog = NULL;
i_old_playing_status = PAUSE_S; i_old_playing_status = PAUSE_S;
p_open_dialog = NULL; p_open_dialog = NULL;
p_popup_menu = NULL;
b_popup_change = VLC_FALSE;
/* Give our interface a nice little icon */ /* Give our interface a nice little icon */
p_intf->p_sys->p_icon = new wxIcon( vlc_xpm ); p_intf->p_sys->p_icon = new wxIcon( vlc_xpm );
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* menus.cpp : wxWindows plugin for vlc * menus.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: menus.cpp,v 1.14 2003/05/26 19:06:47 gbazin Exp $ * $Id: menus.cpp,v 1.15 2003/06/05 21:22:28 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -45,6 +45,10 @@ ...@@ -45,6 +45,10 @@
#include <vlc/intf.h> #include <vlc/intf.h>
#if defined MODULE_NAME_IS_skins
# include "../skins/src/skin_common.h"
#endif
#include "wxwindows.h" #include "wxwindows.h"
class wxMenuItemExt: public wxMenuItem class wxMenuItemExt: public wxMenuItem
...@@ -92,7 +96,7 @@ BEGIN_EVENT_TABLE(MenuEvtHandler, wxEvtHandler) ...@@ -92,7 +96,7 @@ BEGIN_EVENT_TABLE(MenuEvtHandler, wxEvtHandler)
EVT_MENU(-1, MenuEvtHandler::OnMenuEvent) EVT_MENU(-1, MenuEvtHandler::OnMenuEvent)
END_EVENT_TABLE() END_EVENT_TABLE()
void PopupMenu( intf_thread_t *_p_intf, Interface *_p_main_interface, void PopupMenu( intf_thread_t *p_intf, wxWindow *p_parent,
const wxPoint& pos ) const wxPoint& pos )
{ {
vlc_object_t *p_object; vlc_object_t *p_object;
...@@ -107,7 +111,7 @@ void PopupMenu( intf_thread_t *_p_intf, Interface *_p_main_interface, ...@@ -107,7 +111,7 @@ void PopupMenu( intf_thread_t *_p_intf, Interface *_p_main_interface,
ppsz_varnames[i++] = _("Audio menu"); ppsz_varnames[i++] = _("Audio menu");
ppsz_varnames[i++] = NULL; /* Separator */ ppsz_varnames[i++] = NULL; /* Separator */
p_object = (vlc_object_t *)vlc_object_find( _p_intf, VLC_OBJECT_AOUT, p_object = (vlc_object_t *)vlc_object_find( p_intf, VLC_OBJECT_AOUT,
FIND_ANYWHERE ); FIND_ANYWHERE );
if( p_object != NULL ) if( p_object != NULL )
{ {
...@@ -123,7 +127,7 @@ void PopupMenu( intf_thread_t *_p_intf, Interface *_p_main_interface, ...@@ -123,7 +127,7 @@ void PopupMenu( intf_thread_t *_p_intf, Interface *_p_main_interface,
ppsz_varnames[i++] = _("Video menu"); ppsz_varnames[i++] = _("Video menu");
ppsz_varnames[i++] = NULL; /* Separator */ ppsz_varnames[i++] = NULL; /* Separator */
p_object = (vlc_object_t *)vlc_object_find( _p_intf, VLC_OBJECT_VOUT, p_object = (vlc_object_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT,
FIND_ANYWHERE ); FIND_ANYWHERE );
if( p_object != NULL ) if( p_object != NULL )
{ {
...@@ -141,7 +145,7 @@ void PopupMenu( intf_thread_t *_p_intf, Interface *_p_main_interface, ...@@ -141,7 +145,7 @@ void PopupMenu( intf_thread_t *_p_intf, Interface *_p_main_interface,
ppsz_varnames[i++] = _("Input menu"); ppsz_varnames[i++] = _("Input menu");
ppsz_varnames[i++] = NULL; /* Separator */ ppsz_varnames[i++] = NULL; /* Separator */
p_object = (vlc_object_t *)vlc_object_find( _p_intf, VLC_OBJECT_INPUT, p_object = (vlc_object_t *)vlc_object_find( p_intf, VLC_OBJECT_INPUT,
FIND_ANYWHERE ); FIND_ANYWHERE );
if( p_object != NULL ) if( p_object != NULL )
{ {
...@@ -166,18 +170,18 @@ void PopupMenu( intf_thread_t *_p_intf, Interface *_p_main_interface, ...@@ -166,18 +170,18 @@ void PopupMenu( intf_thread_t *_p_intf, Interface *_p_main_interface,
/* Misc stuff */ /* Misc stuff */
ppsz_varnames[i++] = NULL; /* Separator */ ppsz_varnames[i++] = NULL; /* Separator */
ppsz_varnames[i++] = _("Close"); ppsz_varnames[i++] = _("Close Menu");
/* Build menu */ /* Build menu */
Menu popupmenu( _p_intf, _p_main_interface, i, Menu popupmenu( p_intf, p_parent, i,
ppsz_varnames, pi_objects, PopupMenu_Events ); ppsz_varnames, pi_objects, PopupMenu_Events );
_p_main_interface->p_popup_menu = &popupmenu; p_intf->p_sys->p_popup_menu = &popupmenu;
_p_main_interface->PopupMenu( &popupmenu, pos.x, pos.y ); p_parent->PopupMenu( &popupmenu, pos.x, pos.y );
_p_main_interface->p_popup_menu = NULL; p_intf->p_sys->p_popup_menu = NULL;
} }
wxMenu *AudioMenu( intf_thread_t *_p_intf, Interface *_p_main_interface ) wxMenu *AudioMenu( intf_thread_t *_p_intf, wxWindow *p_parent )
{ {
vlc_object_t *p_object; vlc_object_t *p_object;
char *ppsz_varnames[5]; char *ppsz_varnames[5];
...@@ -208,11 +212,11 @@ wxMenu *AudioMenu( intf_thread_t *_p_intf, Interface *_p_main_interface ) ...@@ -208,11 +212,11 @@ wxMenu *AudioMenu( intf_thread_t *_p_intf, Interface *_p_main_interface )
} }
/* Build menu */ /* Build menu */
return new Menu( _p_intf, _p_main_interface, i, return new Menu( _p_intf, p_parent, i,
ppsz_varnames, pi_objects, AudioMenu_Events ); ppsz_varnames, pi_objects, AudioMenu_Events );
} }
wxMenu *VideoMenu( intf_thread_t *_p_intf, Interface *_p_main_interface ) wxMenu *VideoMenu( intf_thread_t *_p_intf, wxWindow *p_parent )
{ {
vlc_object_t *p_object; vlc_object_t *p_object;
char *ppsz_varnames[6]; char *ppsz_varnames[6];
...@@ -247,11 +251,11 @@ wxMenu *VideoMenu( intf_thread_t *_p_intf, Interface *_p_main_interface ) ...@@ -247,11 +251,11 @@ wxMenu *VideoMenu( intf_thread_t *_p_intf, Interface *_p_main_interface )
} }
/* Build menu */ /* Build menu */
return new Menu( _p_intf, _p_main_interface, i, return new Menu( _p_intf, p_parent, i,
ppsz_varnames, pi_objects, VideoMenu_Events ); ppsz_varnames, pi_objects, VideoMenu_Events );
} }
wxMenu *NavigMenu( intf_thread_t *_p_intf, Interface *_p_main_interface ) wxMenu *NavigMenu( intf_thread_t *_p_intf, wxWindow *p_parent )
{ {
vlc_object_t *p_object; vlc_object_t *p_object;
char *ppsz_varnames[10]; char *ppsz_varnames[10];
...@@ -287,14 +291,14 @@ wxMenu *NavigMenu( intf_thread_t *_p_intf, Interface *_p_main_interface ) ...@@ -287,14 +291,14 @@ wxMenu *NavigMenu( intf_thread_t *_p_intf, Interface *_p_main_interface )
} }
/* Build menu */ /* Build menu */
return new Menu( _p_intf, _p_main_interface, i, return new Menu( _p_intf, p_parent, i,
ppsz_varnames, pi_objects, NavigMenu_Events ); ppsz_varnames, pi_objects, NavigMenu_Events );
} }
/***************************************************************************** /*****************************************************************************
* Constructor. * Constructor.
*****************************************************************************/ *****************************************************************************/
Menu::Menu( intf_thread_t *_p_intf, Interface *_p_main_interface, Menu::Menu( intf_thread_t *_p_intf, wxWindow *p_parent,
int i_count, char **ppsz_varnames, int *pi_objects, int i_count, char **ppsz_varnames, int *pi_objects,
int i_start_id ): wxMenu( ) int i_start_id ): wxMenu( )
{ {
...@@ -303,7 +307,6 @@ Menu::Menu( intf_thread_t *_p_intf, Interface *_p_main_interface, ...@@ -303,7 +307,6 @@ Menu::Menu( intf_thread_t *_p_intf, Interface *_p_main_interface,
/* Initializations */ /* Initializations */
p_intf = _p_intf; p_intf = _p_intf;
p_main_interface = _p_main_interface;
i_item_id = i_start_id; i_item_id = i_start_id;
...@@ -555,7 +558,7 @@ MenuEvtHandler::~MenuEvtHandler() ...@@ -555,7 +558,7 @@ MenuEvtHandler::~MenuEvtHandler()
void MenuEvtHandler::OnMenuEvent( wxCommandEvent& event ) void MenuEvtHandler::OnMenuEvent( wxCommandEvent& event )
{ {
wxMenuItem *p_menuitem; wxMenuItem *p_menuitem = NULL;
/* Check if this is an auto generated menu item */ /* Check if this is an auto generated menu item */
if( event.GetId() < FirstAutoGenerated_Event ) if( event.GetId() < FirstAutoGenerated_Event )
...@@ -564,13 +567,14 @@ void MenuEvtHandler::OnMenuEvent( wxCommandEvent& event ) ...@@ -564,13 +567,14 @@ void MenuEvtHandler::OnMenuEvent( wxCommandEvent& event )
return; return;
} }
if( (p_menuitem = p_main_interface->GetMenuBar()->FindItem(event.GetId())) if( !p_main_interface ||
(p_menuitem = p_main_interface->GetMenuBar()->FindItem(event.GetId()))
== NULL ) == NULL )
{ {
if( p_main_interface->p_popup_menu ) if( p_intf->p_sys->p_popup_menu )
{ {
p_menuitem = p_menuitem =
p_main_interface->p_popup_menu->FindItem( event.GetId() ); p_intf->p_sys->p_popup_menu->FindItem( event.GetId() );
} }
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* playlist.cpp : wxWindows plugin for vlc * playlist.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: messages.cpp,v 1.6 2003/05/12 17:33:19 gbazin Exp $ * $Id: messages.cpp,v 1.7 2003/06/05 21:22:28 gbazin Exp $
* *
* Authors: Olivier Teulire <ipkiss@via.ecp.fr> * Authors: Olivier Teulire <ipkiss@via.ecp.fr>
* *
...@@ -75,13 +75,12 @@ END_EVENT_TABLE() ...@@ -75,13 +75,12 @@ END_EVENT_TABLE()
/***************************************************************************** /*****************************************************************************
* Constructor. * Constructor.
*****************************************************************************/ *****************************************************************************/
Messages::Messages( intf_thread_t *_p_intf, Interface *_p_main_interface ): Messages::Messages( intf_thread_t *_p_intf, wxWindow *p_parent ):
wxFrame( _p_main_interface, -1, wxU(_("Messages")), wxDefaultPosition, wxFrame( p_parent, -1, wxU(_("Messages")), wxDefaultPosition,
wxDefaultSize, wxDEFAULT_FRAME_STYLE ) wxDefaultSize, wxDEFAULT_FRAME_STYLE )
{ {
/* Initializations */ /* Initializations */
p_intf = _p_intf; p_intf = _p_intf;
p_main_interface = _p_main_interface;
b_verbose = VLC_FALSE; b_verbose = VLC_FALSE;
SetIcon( *p_intf->p_sys->p_icon ); SetIcon( *p_intf->p_sys->p_icon );
......
...@@ -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.17 2003/05/26 16:06:13 gbazin Exp $ * $Id: preferences.cpp,v 1.18 2003/06/05 21:22:28 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -225,13 +225,12 @@ END_EVENT_TABLE() ...@@ -225,13 +225,12 @@ END_EVENT_TABLE()
/***************************************************************************** /*****************************************************************************
* Constructor. * Constructor.
*****************************************************************************/ *****************************************************************************/
PrefsDialog::PrefsDialog( intf_thread_t *_p_intf, Interface *_p_main_interface) PrefsDialog::PrefsDialog( intf_thread_t *_p_intf, wxWindow *p_parent)
: wxFrame( _p_main_interface, -1, wxU(_("Preferences")), wxDefaultPosition, : wxFrame( p_parent, -1, wxU(_("Preferences")), wxDefaultPosition,
wxSize(650,450), wxDEFAULT_FRAME_STYLE ) wxSize(650,450), wxDEFAULT_FRAME_STYLE )
{ {
/* Initializations */ /* Initializations */
p_intf = _p_intf; p_intf = _p_intf;
p_main_interface = _p_main_interface;
SetIcon( *p_intf->p_sys->p_icon ); SetIcon( *p_intf->p_sys->p_icon );
/* Create a panel to put everything in */ /* Create a panel to put everything in */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* timer.cpp : wxWindows plugin for vlc * timer.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: timer.cpp,v 1.21 2003/06/04 16:03:34 gbazin Exp $ * $Id: timer.cpp,v 1.22 2003/06/05 21:22:28 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -69,8 +69,7 @@ Timer::Timer( intf_thread_t *_p_intf, Interface *_p_main_interface ) ...@@ -69,8 +69,7 @@ Timer::Timer( intf_thread_t *_p_intf, Interface *_p_main_interface )
FIND_ANYWHERE ); FIND_ANYWHERE );
if( p_playlist != NULL ) if( p_playlist != NULL )
{ {
var_AddCallback( p_playlist, "intf-popupmenu", PopupMenuCB, var_AddCallback( p_playlist, "intf-popupmenu", PopupMenuCB, p_intf );
p_main_interface );
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
} }
...@@ -84,27 +83,6 @@ Timer::~Timer() ...@@ -84,27 +83,6 @@ Timer::~Timer()
/***************************************************************************** /*****************************************************************************
* Private methods. * Private methods.
*****************************************************************************/ *****************************************************************************/
/*****************************************************************************
* wxModeManage: actualise the aspect of the interface whenever the input
* changes.
*****************************************************************************
* The lock has to be taken before you call the function.
*****************************************************************************/
static int wxModeManage( intf_thread_t * p_intf )
{
return 0;
}
/*****************************************************************************
* wxSetupMenus: function that generates title/chapter/audio/subpic
* menus with help from preceding functions
*****************************************************************************
* Function called with the lock on stream
*****************************************************************************/
static int wxSetupMenus( intf_thread_t * p_intf )
{
return 0;
}
/***************************************************************************** /*****************************************************************************
* Manage: manage main thread messages * Manage: manage main thread messages
...@@ -119,7 +97,7 @@ void Timer::Notify() ...@@ -119,7 +97,7 @@ void Timer::Notify()
vlc_mutex_lock( &p_intf->change_lock ); vlc_mutex_lock( &p_intf->change_lock );
/* If the "display popup" flag has changed */ /* If the "display popup" flag has changed */
if( p_main_interface->b_popup_change ) if( p_intf->p_sys->b_popup_change )
{ {
wxPoint mousepos = wxGetMousePosition(); wxPoint mousepos = wxGetMousePosition();
...@@ -129,7 +107,7 @@ void Timer::Notify() ...@@ -129,7 +107,7 @@ void Timer::Notify()
p_main_interface->AddPendingEvent(event); p_main_interface->AddPendingEvent(event);
p_main_interface->b_popup_change = VLC_FALSE; p_intf->p_sys->b_popup_change = VLC_FALSE;
} }
/* Update the log window */ /* Update the log window */
...@@ -242,13 +220,6 @@ void Timer::Notify() ...@@ -242,13 +220,6 @@ void Timer::Notify()
} }
} }
if( p_intf->p_sys->i_part !=
p_input->stream.p_selected_area->i_part )
{
p_intf->p_sys->b_chapter_update = 1;
wxSetupMenus( p_intf );
}
/* Manage Playing status */ /* Manage Playing status */
if( i_old_playing_status != p_input->stream.control.i_status ) if( i_old_playing_status != p_input->stream.control.i_status )
{ {
...@@ -277,7 +248,6 @@ void Timer::Notify() ...@@ -277,7 +248,6 @@ void Timer::Notify()
} }
else if( p_intf->p_sys->b_playing && !p_intf->b_die ) else if( p_intf->p_sys->b_playing && !p_intf->b_die )
{ {
wxModeManage( p_intf );
p_intf->p_sys->b_playing = 0; p_intf->p_sys->b_playing = 0;
p_main_interface->TogglePlayButton( PAUSE_S ); p_main_interface->TogglePlayButton( PAUSE_S );
i_old_playing_status = PAUSE_S; i_old_playing_status = PAUSE_S;
...@@ -325,9 +295,9 @@ void DisplayStreamDate( wxControl *p_slider_frame, intf_thread_t * p_intf , ...@@ -325,9 +295,9 @@ void DisplayStreamDate( wxControl *p_slider_frame, intf_thread_t * p_intf ,
int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable, int PopupMenuCB( vlc_object_t *p_this, const char *psz_variable,
vlc_value_t old_val, vlc_value_t new_val, void *param ) vlc_value_t old_val, vlc_value_t new_val, void *param )
{ {
Interface *p_main_interface = (Interface *)param; intf_thread_t *p_intf = (intf_thread_t *)param;
p_main_interface->b_popup_change = VLC_TRUE; p_intf->p_sys->b_popup_change = VLC_TRUE;
return VLC_SUCCESS; return VLC_SUCCESS;
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* wxwindows.cpp : wxWindows plugin for vlc * wxwindows.cpp : wxWindows plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * Copyright (C) 2000-2001 VideoLAN
* $Id: wxwindows.cpp,v 1.15 2003/04/17 14:00:44 anil Exp $ * $Id: wxwindows.cpp,v 1.16 2003/06/05 21:22:28 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -109,16 +109,14 @@ static int Open( vlc_object_t *p_this ) ...@@ -109,16 +109,14 @@ static int Open( vlc_object_t *p_this )
/* Initialize wxWindows thread */ /* Initialize wxWindows thread */
p_intf->p_sys->b_playing = 0; p_intf->p_sys->b_playing = 0;
p_intf->p_sys->b_popup_changed = 0;
p_intf->p_sys->b_window_changed = 0;
p_intf->p_sys->b_playlist_changed = 0;
p_intf->p_sys->p_input = NULL; p_intf->p_sys->p_input = NULL;
p_intf->p_sys->i_playing = -1; p_intf->p_sys->i_playing = -1;
p_intf->p_sys->b_slider_free = 1; p_intf->p_sys->b_slider_free = 1;
p_intf->p_sys->i_slider_pos = p_intf->p_sys->i_slider_oldpos = 0; p_intf->p_sys->i_slider_pos = p_intf->p_sys->i_slider_oldpos = 0;
p_intf->p_sys->i_part = 0; p_intf->p_sys->p_popup_menu = NULL;
p_intf->p_sys->b_popup_change = VLC_FALSE;
return VLC_SUCCESS; return VLC_SUCCESS;
} }
......
...@@ -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.34 2003/06/03 22:18:58 gbazin Exp $ * $Id: wxwindows.h,v 1.35 2003/06/05 21:22:28 gbazin Exp $
* *
* Authors: Gildas Bazin <gbazin@netcourrier.com> * Authors: Gildas Bazin <gbazin@netcourrier.com>
* *
...@@ -58,21 +58,6 @@ struct intf_sys_t ...@@ -58,21 +58,6 @@ struct intf_sys_t
/* special actions */ /* special actions */
vlc_bool_t b_playing; vlc_bool_t b_playing;
vlc_bool_t b_popup_changed; /* display menu ? */
vlc_bool_t b_window_changed; /* window display toggled ? */
vlc_bool_t b_playlist_changed; /* playlist display toggled ? */
vlc_bool_t b_slider_free; /* slider status */
/* menus handlers */
vlc_bool_t b_program_update; /* do we need to update programs
menu */
vlc_bool_t b_title_update; /* do we need to update title menus */
vlc_bool_t b_chapter_update; /* do we need to update
chapter menus */
vlc_bool_t b_audio_update; /* do we need to update audio menus */
vlc_bool_t b_spu_update; /* do we need to update spu menus */
/* windows and widgets */
/* The input thread */ /* The input thread */
input_thread_t * p_input; input_thread_t * p_input;
...@@ -80,6 +65,7 @@ struct intf_sys_t ...@@ -80,6 +65,7 @@ struct intf_sys_t
/* The slider */ /* The slider */
int i_slider_pos; /* slider position */ int i_slider_pos; /* slider position */
int i_slider_oldpos; /* previous position */ int i_slider_oldpos; /* previous position */
vlc_bool_t b_slider_free; /* slider status */
/* The messages window */ /* The messages window */
msg_subscription_t* p_sub; /* message bank subscription */ msg_subscription_t* p_sub; /* message bank subscription */
...@@ -87,8 +73,10 @@ struct intf_sys_t ...@@ -87,8 +73,10 @@ struct intf_sys_t
/* Playlist management */ /* Playlist management */
int i_playing; /* playlist selected item */ int i_playing; /* playlist selected item */
/* The window labels for DVD mode */ /* Popup menu */
unsigned int i_part; /* current chapter */ wxMenu *p_popup_menu;
vlc_bool_t b_popup_change;
}; };
#endif /* !defined(MODULE_NAME_IS_skins) */ #endif /* !defined(MODULE_NAME_IS_skins) */
...@@ -139,9 +127,6 @@ public: ...@@ -139,9 +127,6 @@ public:
* (and keep the last settings) */ * (and keep the last settings) */
OpenDialog *p_open_dialog; OpenDialog *p_open_dialog;
wxMenu *p_popup_menu;
vlc_bool_t b_popup_change;
private: private:
void CreateOurMenuBar(); void CreateOurMenuBar();
void CreateOurToolBar(); void CreateOurToolBar();
...@@ -401,7 +386,7 @@ class PrefsDialog: public wxFrame ...@@ -401,7 +386,7 @@ class PrefsDialog: public wxFrame
{ {
public: public:
/* Constructor */ /* Constructor */
PrefsDialog( intf_thread_t *p_intf, Interface *p_main_interface ); PrefsDialog( intf_thread_t *p_intf, wxWindow *p_parent );
virtual ~PrefsDialog(); virtual ~PrefsDialog();
private: private:
...@@ -416,7 +401,6 @@ private: ...@@ -416,7 +401,6 @@ private:
DECLARE_EVENT_TABLE(); DECLARE_EVENT_TABLE();
intf_thread_t *p_intf; intf_thread_t *p_intf;
Interface *p_main_interface;
PrefsTreeCtrl *prefs_tree; PrefsTreeCtrl *prefs_tree;
}; };
...@@ -426,7 +410,7 @@ class Messages: public wxFrame ...@@ -426,7 +410,7 @@ class Messages: public wxFrame
{ {
public: public:
/* Constructor */ /* Constructor */
Messages( intf_thread_t *p_intf, Interface *_p_main_interface ); Messages( intf_thread_t *p_intf, wxWindow *p_parent );
virtual ~Messages(); virtual ~Messages();
void UpdateLog(); void UpdateLog();
...@@ -438,7 +422,6 @@ private: ...@@ -438,7 +422,6 @@ private:
DECLARE_EVENT_TABLE(); DECLARE_EVENT_TABLE();
intf_thread_t *p_intf; intf_thread_t *p_intf;
Interface *p_main_interface;
wxTextCtrl *textctrl; wxTextCtrl *textctrl;
wxTextAttr *info_attr; wxTextAttr *info_attr;
wxTextAttr *err_attr; wxTextAttr *err_attr;
...@@ -490,7 +473,7 @@ class FileInfo: public wxFrame ...@@ -490,7 +473,7 @@ class FileInfo: public wxFrame
{ {
public: public:
/* Constructor */ /* Constructor */
FileInfo( intf_thread_t *p_intf, Interface *p_main_interface ); FileInfo( intf_thread_t *p_intf, wxWindow *p_parent );
virtual ~FileInfo(); virtual ~FileInfo();
void UpdateFileInfo(); void UpdateFileInfo();
...@@ -522,11 +505,11 @@ private: ...@@ -522,11 +505,11 @@ private:
#endif #endif
/* Menus */ /* Menus */
void PopupMenu( intf_thread_t *_p_intf, Interface *_p_main_interface, void PopupMenu( intf_thread_t *_p_intf, wxWindow *p_parent,
const wxPoint& pos ); const wxPoint& pos );
wxMenu *AudioMenu( intf_thread_t *_p_intf, Interface *_p_main_interface ); wxMenu *AudioMenu( intf_thread_t *_p_intf, wxWindow *p_parent );
wxMenu *VideoMenu( intf_thread_t *_p_intf, Interface *_p_main_interface ); wxMenu *VideoMenu( intf_thread_t *_p_intf, wxWindow *p_parent );
wxMenu *NavigMenu( intf_thread_t *_p_intf, Interface *_p_main_interface ); wxMenu *NavigMenu( intf_thread_t *_p_intf, wxWindow *p_parent );
class MenuEvtHandler : public wxEvtHandler class MenuEvtHandler : public wxEvtHandler
{ {
...@@ -548,7 +531,7 @@ class Menu: public wxMenu ...@@ -548,7 +531,7 @@ class Menu: public wxMenu
{ {
public: public:
/* Constructor */ /* Constructor */
Menu( intf_thread_t *p_intf, Interface *p_main_interface, int i_count, Menu( intf_thread_t *p_intf, wxWindow *p_parent, int i_count,
char **ppsz_names, int *pi_objects, int i_start_id ); char **ppsz_names, int *pi_objects, int i_start_id );
virtual ~Menu(); virtual ~Menu();
...@@ -564,7 +547,6 @@ private: ...@@ -564,7 +547,6 @@ private:
DECLARE_EVENT_TABLE(); DECLARE_EVENT_TABLE();
intf_thread_t *p_intf; intf_thread_t *p_intf;
Interface *p_main_interface;
int i_item_id; int i_item_id;
}; };
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