Processes messages sent to the main window.
***********************************************************************/
-LRESULT FileInfo::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp,
- PBOOL pbProcessed )
+LRESULT FileInfo::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
{
SHINITDLGINFO shidi;
- LRESULT lResult = CBaseWindow::WndProc( hwnd, msg, wp, lp, pbProcessed );
- BOOL bWasProcessed = *pbProcessed;
- *pbProcessed = TRUE;
-
switch( msg )
{
case WM_INITDIALOG:
CreateTreeView( hwnd );
UpdateWindow( hwnd );
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
- return lResult;
+ break;
+
+ case WM_CLOSE:
+ EndDialog( hwnd, LOWORD( wp ) );
+ break;
case WM_COMMAND:
if ( LOWORD(wp) == IDOK )
{
EndDialog( hwnd, LOWORD( wp ) );
- return TRUE;
- }
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ }
+ break;
default:
- // the message was not processed
- // indicate if the base class handled it
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
}
- return lResult;
+ return FALSE;
}
#include <windows.h>
#include <windowsx.h>
#include <commctrl.h>
-#include <commdlg.h> // common dialogs -> fileopen.lib ?
+#include <commdlg.h>
#define NUMIMAGES 9 // Number of buttons in the toolbar
#define IMAGEWIDTH 17 // Width of the buttons in the toolbar
#define BUTTONWIDTH 0 // Width of the button images in the toolbar
#define BUTTONHEIGHT 0 // Height of the button images in the toolbar
#define ID_TOOLBAR 2000 // Identifier of the main tool bar
-#define dwTBFontStyle TBSTYLE_BUTTON | TBSTYLE_CHECK | TBSTYLE_GROUP // style for toolbar buttons
// Help strings
#define HELP_SIMPLE _T("Quick file open")
wc.lpszClassName = _T("VLC WinCE");
if( !RegisterClass( &wc ) ) return FALSE;
+#ifndef WS_OVERLAPPEDWINDOW
+# define WS_OVERLAPPEDWINDOW 0xcf0000
+#endif
+
// Create main window
hwndMain =
- CreateWindow( _T("VLC WinCE"), _T("VLC media player"), WS_VISIBLE,
+ CreateWindow( _T("VLC WinCE"), _T("VLC media player"),
+ WS_OVERLAPPEDWINDOW|WS_SIZEBOX|WS_VISIBLE,
0, MENU_HEIGHT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, (void *)this );
}
/***********************************************************************
+FUNCTION:
+ CreateDialogBox
+
+PURPOSE:
+ Creates a Dialog Box.
+***********************************************************************/
+int CBaseWindow::CreateDialogBox( HWND hwnd, CBaseWindow *p_obj )
+{
+ uint8_t p_buffer[sizeof(DLGTEMPLATE) + sizeof(WORD) * 4];
+ DLGTEMPLATE *p_dlg_template = (DLGTEMPLATE *)p_buffer;
+ memset( p_dlg_template, 0, sizeof(DLGTEMPLATE) + sizeof(WORD) * 4 );
+
+ // these values are arbitrary, they won't be used normally anyhow
+ p_dlg_template->x = 34; p_dlg_template->y = 22;
+ p_dlg_template->cx = 144; p_dlg_template->cy = 75;
+ p_dlg_template->style =
+ DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_SIZEBOX;
+
+ return DialogBoxIndirectParam( GetModuleHandle(0), p_dlg_template, hwnd,
+ (DLGPROC)p_obj->BaseWndProc, (LPARAM)p_obj );
+}
+/***********************************************************************
FUNCTION:
BaseWndProc
PURPOSE:
Processes messages sent to the main window.
-
***********************************************************************/
LRESULT CALLBACK CBaseWindow::BaseWndProc( HWND hwnd, UINT msg, WPARAM wParam,
LPARAM lParam )
{
+ CBaseWindow *p_obj;
+
// check to see if a copy of the 'this' pointer needs to be saved
if( msg == WM_CREATE )
{
- CBaseWindow *pObj = reinterpret_cast<CBaseWindow *>
- ((long)((LPCREATESTRUCT)lParam)->lpCreateParams);
- ::SetWindowLong( hwnd, GWL_USERDATA,
- (LONG)((LPCREATESTRUCT)lParam)->lpCreateParams );
+ p_obj = (CBaseWindow *)(((LPCREATESTRUCT)lParam)->lpCreateParams);
+ SetWindowLong( hwnd, GWL_USERDATA,
+ (LONG)((LPCREATESTRUCT)lParam)->lpCreateParams );
- pObj->DlgFlag = FALSE;
- pObj->hWnd = hwnd; // videowindow
+ p_obj->hWnd = hwnd;
}
if( msg == WM_INITDIALOG )
{
- CBaseWindow *pObj = reinterpret_cast<CBaseWindow *>(lParam);
- ::SetWindowLong( hwnd, GWL_USERDATA, lParam );
- pObj->DlgFlag = TRUE;
- pObj->hWnd = hwnd; //streamout
+ p_obj = (CBaseWindow *)lParam;
+ SetWindowLong( hwnd, GWL_USERDATA, lParam );
+ p_obj->hWnd = hwnd;
}
- BOOL bProcessed = FALSE;
- LRESULT lResult;
-
// Retrieve the pointer
- CBaseWindow *pObj =
- reinterpret_cast<CBaseWindow *>(::GetWindowLong( hwnd, GWL_USERDATA ));
+ p_obj = (CBaseWindow *)GetWindowLong( hwnd, GWL_USERDATA );
- if( !pObj ) return DefWindowProc( hwnd, msg, wParam, lParam );
+ if( !p_obj ) return DefWindowProc( hwnd, msg, wParam, lParam );
// Filter message through child classes
- if( pObj )
- lResult = pObj->WndProc( hwnd, msg, wParam, lParam, &bProcessed );
-
- if( pObj->DlgFlag )
- return bProcessed; // processing a dialog message return TRUE if processed
- else if( !bProcessed )
- // If message was unprocessed and not a dialog, send it back to Windows
- lResult = DefWindowProc( hwnd, msg, wParam, lParam );
-
- return lResult; // processing a window message return FALSE if processed
+ return p_obj->WndProc( hwnd, msg, wParam, lParam );
}
/***********************************************************************
-
FUNCTION:
WndProc
PURPOSE:
Processes messages sent to the main window.
-
***********************************************************************/
LRESULT CALLBACK Interface::WndProc( HWND hwnd, UINT msg, WPARAM wp,
- LPARAM lp, PBOOL pbProcessed )
+ LPARAM lp )
{
- // call the base class first
- LRESULT lResult = CBaseWindow::WndProc( hwnd, msg, wp, lp, pbProcessed );
- *pbProcessed = TRUE;
-
switch( msg )
{
case WM_CREATE:
- {
hwndCB = CreateMenuBar( hwnd, hInst );
hwndTB = CreateToolBar( hwnd, hInst );
hwndSlider = CreateSliderBar( hwnd, hInst );
/* Video window */
if( config_GetInt( pIntf, "wince-embed" ) )
- video = CreateVideoWindow( pIntf, hInst, hwnd );
+ video = CreateVideoWindow( pIntf, hwnd );
ti = new Timer(pIntf, hwnd, this);
// Hide the SIP button (WINCE only)
SetForegroundWindow( hwnd );
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
- }
- return lResult;
+ break;
case WM_COMMAND:
switch( GET_WM_COMMAND_ID(wp,lp) )
{
case ID_FILE_QUICKOPEN:
OnOpenFileSimple();
- return lResult;
+ break;
case ID_FILE_OPENFILE:
- open = new OpenDialog( pIntf, hInst, FILE_ACCESS,
- ID_FILE_OPENFILE, OPEN_NORMAL );
- DialogBoxParam( hInst, (LPCTSTR)IDD_DUMMY, hwnd,
- (DLGPROC)open->BaseWndProc, (long)open );
- delete open;
- return lResult;
+ open = new OpenDialog( pIntf, hInst, FILE_ACCESS,
+ ID_FILE_OPENFILE, OPEN_NORMAL );
+ CreateDialogBox( hwnd, open );
+ delete open;
+ break;
case ID_FILE_OPENNET:
open = new OpenDialog( pIntf, hInst, NET_ACCESS, ID_FILE_OPENNET,
OPEN_NORMAL );
- DialogBoxParam( hInst, (LPCTSTR)IDD_DUMMY, hwnd,
- (DLGPROC)open->BaseWndProc, (long)open );
+ CreateDialogBox( hwnd, open );
delete open;
- return lResult;
+ break;
case PlayStream_Event:
OnPlayStream();
- return lResult;
+ break;
case StopStream_Event:
OnStopStream();
- return lResult;
+ break;
case PrevStream_Event:
OnPrevStream();
- return lResult;
+ break;
case NextStream_Event:
OnNextStream();
- return lResult;
+ break;
case SlowStream_Event:
OnSlowStream();
- return lResult;
+ break;
case FastStream_Event:
OnFastStream();
- return lResult;
+ break;
case ID_FILE_ABOUT:
{
MessageBox( hwnd, _FROMMB(about.c_str()),
_T("About VLC media player"), MB_OK );
- return lResult;
+ break;
}
case ID_FILE_EXIT:
SendMessage( hwnd, WM_CLOSE, 0, 0 );
- return lResult;
+ break;
case ID_VIEW_STREAMINFO:
fi = new FileInfo( pIntf, hInst );
- DialogBoxParam( hInst, (LPCTSTR)IDD_DUMMY, hwnd,
- (DLGPROC)fi->BaseWndProc, (long)fi );
+ CreateDialogBox( hwnd, fi );
delete fi;
- return lResult;
+ break;
case ID_VIEW_MESSAGES:
hmsg = new Messages( pIntf, hInst );
- DialogBoxParam( hInst, (LPCTSTR)IDD_MESSAGES, hwnd,
- (DLGPROC)hmsg->BaseWndProc, (long)hmsg );
+ CreateDialogBox( hwnd, hmsg );
delete hmsg;
- return lResult;
+ break;
case ID_VIEW_PLAYLIST:
pl = new Playlist( pIntf, hInst );
- DialogBoxParam( hInst, (LPCTSTR)IDD_DUMMY, hwnd,
- (DLGPROC)pl->BaseWndProc, (long)pl );
+ CreateDialogBox( hwnd, pl );
delete pl;
- return lResult;
+ break;
case ID_SETTINGS_PREF:
pref = new PrefsDialog( pIntf, hInst );
- DialogBoxParam( hInst, (LPCTSTR)IDD_DUMMY, hwnd,
- (DLGPROC)pref->BaseWndProc, (long)pref );
+ CreateDialogBox( hwnd, pref );
delete pref;
- return lResult;
+ break;
default:
OnMenuEvent( pIntf, GET_WM_COMMAND_ID(wp,lp) );
case WM_TIMER:
ti->Notify();
- return lResult;
+ break;
case WM_CTLCOLORSTATIC:
if( ( (HWND)lp == hwndSlider ) || ( (HWND)lp == hwndVol ) )
break;
case WM_HSCROLL:
- if( (HWND)lp == hwndSlider )
- {
- OnSliderUpdate( wp );
- return lResult;
- }
+ if( (HWND)lp == hwndSlider ) OnSliderUpdate( wp );
break;
case WM_VSCROLL:
- if( (HWND)lp == hwndVol )
- {
- OnChange( wp );
- return lResult;
- }
+ if( (HWND)lp == hwndVol ) OnChange( wp );
break;
case WM_INITMENUPOPUP:
WM_NOTIFY, wp, lp );
return lResult;
#endif
+ break;
case WM_HELP:
MessageBox (hwnd, _T("Help"), _T("Help"), MB_OK);
- return lResult;
+ break;
case WM_CLOSE:
DestroyWindow( hwndCB );
DestroyWindow( hwnd );
- return lResult;
+ break;
case WM_DESTROY:
PostQuitMessage( 0 );
- return lResult;
+ break;
}
return DefWindowProc( hwnd, msg, wp, lp );
Processes messages sent to the main window.
***********************************************************************/
-LRESULT ItemInfoDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp,
- PBOOL pbProcessed )
+LRESULT ItemInfoDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
{
SHINITDLGINFO shidi;
SHMENUBARINFO mbi;
INITCOMMONCONTROLSEX iccex;
RECT rcClient;
- LRESULT lResult = CBaseWindow::WndProc( hwnd, msg, wp, lp, pbProcessed );
- BOOL bWasProcessed = *pbProcessed;
- *pbProcessed = TRUE;
-
switch( msg )
{
case WM_INITDIALOG:
hwnd, NULL, hInst, NULL );
UpdateInfo();
- return lResult;
+ break;
+
+ case WM_CLOSE:
+ EndDialog( hwnd, LOWORD( wp ) );
+ break;
case WM_COMMAND:
if( LOWORD(wp) == IDOK )
{
OnOk();
EndDialog( hwnd, LOWORD( wp ) );
- return TRUE;
}
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
default:
- // the message was not processed
- // indicate if the base class handled it
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
}
- return lResult;
+ return FALSE;
}
/*****************************************************************************
Processes messages sent to the main window.
***********************************************************************/
-LRESULT Messages::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp,
- PBOOL pbProcessed )
+LRESULT Messages::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
{
SHINITDLGINFO shidi;
int i_dummy;
HANDLE fichier;
- LRESULT lResult = CBaseWindow::WndProc( hwnd, msg, wp, lp, pbProcessed );
- BOOL bWasProcessed = *pbProcessed;
- *pbProcessed = TRUE;
-
- switch (msg)
+ switch( msg )
{
case WM_INITDIALOG:
shidi.dwMask = SHIDIM_FLAGS;
SetTimer( hwnd, 1, 500 /*milliseconds*/, NULL );
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
- return lResult;
+ break;
case WM_TIMER:
UpdateLog();
- return lResult;
+ break;
+
+ case WM_CLOSE:
+ EndDialog( hwnd, LOWORD( wp ) );
+ break;
case WM_COMMAND:
switch( LOWORD(wp) )
{
case IDOK:
EndDialog( hwnd, LOWORD( wp ) );
- return TRUE;
+ break;
case IDCLEAR:
ListView_DeleteAllItems( hListView );
- return TRUE;
+ break;
case IDSAVEAS:
memset( &(ofn), 0, sizeof(ofn) );
}
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
- return TRUE;
+ break;
default:
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
}
default:
- // the message was not processed
- // indicate if the base class handled it
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
}
- return lResult;
+ return FALSE;
}
void Messages::UpdateLog()
Processes messages sent to the main window.
***********************************************************************/
-LRESULT OpenDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp,
- PBOOL pbProcessed )
+LRESULT OpenDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
{
SHINITDLGINFO shidi;
SHMENUBARINFO mbi;
RECT rcClient;
TC_ITEM tcItem;
- LRESULT lResult = CBaseWindow::WndProc( hwnd, msg, wp, lp, pbProcessed );
- BOOL bWasProcessed = *pbProcessed;
- *pbProcessed = TRUE;
-
switch( msg )
{
case WM_INITDIALOG:
0, hInst, 0 );
// No tooltips for ComboBox
-
label = CreateWindow( _T("STATIC"),
_FROMMB(_("Alternatively, you can build an MRL "
"using one of the following predefined "
NetPanel( hwnd );
OnPageChange();
+ break;
- return lResult;
+ case WM_CLOSE:
+ EndDialog( hwnd, LOWORD( wp ) );
+ break;
case WM_COMMAND:
if( LOWORD(wp) == IDOK )
{
OnOk();
EndDialog( hwnd, LOWORD( wp ) );
- return TRUE;
+ break;
}
if( HIWORD(wp) == BN_CLICKED )
{
if( (HWND)lp == net_radios[0] )
{
OnNetTypeChange( NetRadio1_Event );
- return TRUE;
} else if( (HWND)lp == net_radios[1] )
{
OnNetTypeChange( NetRadio2_Event );
- return TRUE;
} else if( (HWND)lp == net_radios[2] )
{
OnNetTypeChange( NetRadio3_Event );
- return TRUE;
} else if( (HWND)lp == net_radios[3] )
{
OnNetTypeChange( NetRadio4_Event );
- return TRUE;
} else if( (HWND)lp == subsfile_checkbox )
{
OnSubsFileEnable();
- return TRUE;
} else if( (HWND)lp == subsfile_button )
{
OnSubsFileSettings( hwnd );
- return TRUE;
} else if( (HWND)lp == browse_button )
{
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
OnFileBrowse();
- return TRUE;
}
+ break;
}
if( HIWORD(wp) == EN_CHANGE )
{
OnFilePanelChange();
}
}
-
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
case WM_NOTIFY:
- if( (((NMHDR *)lp)->code) == TCN_SELCHANGE )
- {
- OnPageChange();
- return TRUE;
- }
-
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ if( (((NMHDR *)lp)->code) == TCN_SELCHANGE ) OnPageChange();
+ break;
default:
- // the message was not processed
- // indicate if the base class handled it
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
}
- return lResult;
+ return FALSE;
}
/*****************************************************************************
/* Show/hide the open dialog */
SubsFileDialog *subsfile_dialog = new SubsFileDialog( p_intf, hInst );
- DialogBoxParam( hInst, (LPCTSTR)IDD_DUMMY, hwnd,
- (DLGPROC)subsfile_dialog->BaseWndProc,
- (long)subsfile_dialog );
+ CreateDialogBox( hwnd, subsfile_dialog );
subsfile_mrl.clear();
}
/***********************************************************************
-
FUNCTION:
WndProc
PURPOSE:
Processes messages sent to the main window.
-
***********************************************************************/
-LRESULT Playlist::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp,
- PBOOL pbProcessed )
+LRESULT Playlist::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
{
SHINITDLGINFO shidi;
SHMENUBARINFO mbi;
+ INITCOMMONCONTROLSEX iccex;
+ RECT rect, rectTB;
+ DWORD dwStyle;
int bState;
playlist_t *p_playlist;
- DWORD dwStyle;
- RECT rect, rectTB;
-
- INITCOMMONCONTROLSEX iccex;
-
- LRESULT lResult = CBaseWindow::WndProc( hwnd, msg, wp, lp, pbProcessed );
- BOOL bWasProcessed = *pbProcessed;
- *pbProcessed = TRUE;
-
switch( msg )
{
case WM_INITDIALOG:
sizeof (tbButton2) / sizeof (TBBUTTON),
BUTTONWIDTH, BUTTONHEIGHT,
IMAGEWIDTH, IMAGEHEIGHT, sizeof(TBBUTTON) );
- if( !hwndTB )
- {
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
- }
+ if( !hwndTB ) break;
// Add ToolTips to the toolbar.
SendMessage( hwndTB, TB_SETTOOLTIPS, (WPARAM) NUMIMAGES,
vlc_value_t val;
p_playlist = (playlist_t *)
vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
- if( p_playlist == NULL )
- {
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
- }
+ if( !p_playlist ) break;
+
var_Get( p_playlist , "random", &val );
bState = val.b_bool ? TBSTATE_CHECKED : 0;
SendMessage( hwndTB, TB_SETSTATE, Random_Event,
SetTimer( hwnd, 1, 500 /*milliseconds*/, NULL );
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
-
- return lResult;
+ break;
case WM_TIMER:
UpdatePlaylist();
- return lResult;
+ break;
+
+ case WM_CLOSE:
+ EndDialog( hwnd, LOWORD( wp ) );
+ break;
case WM_COMMAND:
switch( LOWORD(wp) )
{
case IDOK:
EndDialog( hwnd, LOWORD( wp ) );
- return TRUE;
+ break;
case ID_MANAGE_OPENPL:
OnOpen();
b_need_update = VLC_TRUE;
- return TRUE;
+ break;
case ID_MANAGE_SAVEPL:
SHFullScreen( GetForegroundWindow(), SHFS_SHOWSIPBUTTON );
OnSave();
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
- return TRUE;
+ break;
case ID_MANAGE_SIMPLEADD:
SHFullScreen( GetForegroundWindow(), SHFS_SHOWSIPBUTTON );
OnAddFile();
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
b_need_update = VLC_TRUE;
- return TRUE;
+ break;
case ID_MANAGE_ADDMRL:
SHFullScreen( GetForegroundWindow(), SHFS_SHOWSIPBUTTON );
OnAddMRL();
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
b_need_update = VLC_TRUE;
- return TRUE;
+ break;
case ID_SEL_DELETE:
OnDeleteSelection();
b_need_update = VLC_TRUE;
- return TRUE;
+ break;
case Infos_Event:
SHFullScreen( GetForegroundWindow(), SHFS_SHOWSIPBUTTON );
OnPopupInfo( hwnd );
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
b_need_update = VLC_TRUE;
- return TRUE;
+ break;
case Up_Event:
OnUp();
b_need_update = VLC_TRUE;
- return TRUE;
+ break;
case Down_Event:
OnDown();
b_need_update = VLC_TRUE;
- return TRUE;
+ break;
case Random_Event:
OnRandom();
- return TRUE;
+ break;
case Loop_Event:
OnLoop();
- return TRUE;
+ break;
case Repeat_Event:
OnRepeat();
- return TRUE;
+ break;
case ID_SORT_TITLE:
OnSort( ID_SORT_TITLE );
- return TRUE;
+ break;
case ID_SORT_RTITLE:
OnSort( ID_SORT_RTITLE );
- return TRUE;
+ break;
case ID_SORT_AUTHOR:
OnSort( ID_SORT_AUTHOR );
- return TRUE;
+ break;
case ID_SORT_RAUTHOR:
OnSort( ID_SORT_RAUTHOR );
- return TRUE;
+ break;
case ID_SORT_SHUFFLE:
OnSort( ID_SORT_SHUFFLE );
- return TRUE;
+ break;
case ID_SEL_ENABLE:
OnEnableSelection();
- return TRUE;
+ break;
case ID_SEL_DISABLE:
OnDisableSelection();
- return TRUE;
+ break;
case ID_SEL_INVERT:
OnInvertSelection();
- return TRUE;
+ break;
case ID_SEL_SELECTALL:
OnSelectAll();
- return TRUE;
+ break;
case PopupPlay_Event:
OnPopupPlay();
b_need_update = VLC_TRUE;
- return TRUE;
+ break;
case PopupDel_Event:
OnPopupDel();
b_need_update = VLC_TRUE;
- return TRUE;
+ break;
case PopupEna_Event:
OnPopupEna();
b_need_update = VLC_TRUE;
- return TRUE;
+ break;
case PopupInfo_Event:
OnPopupInfo( hwnd );
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
b_need_update = VLC_TRUE;
- return TRUE;
+ break;
default:
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
}
case WM_NOTIFY:
{
SetWindowLong( hwnd, DWL_MSGRESULT,
(LONG)ProcessCustomDraw(lp) );
- return TRUE;
}
else if( ( ((LPNMHDR)lp)->hwndFrom == hListView ) &&
( ((LPNMHDR)lp)->code == GN_CONTEXTMENU ) )
{
HandlePopupMenu( hwnd, ((PNMRGINFO)lp)->ptAction );
- return TRUE;
}
else if( ( ((LPNMHDR)lp)->hwndFrom == hListView ) &&
( ((LPNMHDR)lp)->code == LVN_COLUMNCLICK ) )
{
OnColSelect( ((LPNMLISTVIEW)lp)->iSubItem );
- return TRUE;
}
else if( ( ((LPNMHDR)lp)->hwndFrom == hListView ) &&
( ((LPNMHDR)lp)->code == LVN_ITEMACTIVATE ) )
{
OnActivateItem( ((LPNMLISTVIEW)lp)->iSubItem );
- return TRUE;
}
-
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
default:
// the message was not processed
// indicate if the base class handled it
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
}
- return lResult;
+ return FALSE;
}
LRESULT Playlist::ProcessCustomDraw( LPARAM lParam )
{
ItemInfoDialog *iteminfo_dialog =
new ItemInfoDialog( p_intf, hInst, p_item );
- DialogBoxParam( hInst, (LPCTSTR)IDD_DUMMY, hwnd,
- (DLGPROC)iteminfo_dialog->BaseWndProc,
- (long)iteminfo_dialog );
+ CreateDialogBox( hwnd, iteminfo_dialog );
UpdateItem( i_item );
delete iteminfo_dialog;
}
Processes messages sent to the main window.
***********************************************************************/
-LRESULT PrefsDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp,
- PBOOL pbProcessed )
+LRESULT PrefsDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
{
SHINITDLGINFO shidi;
SHMENUBARINFO mbi;
RECT rcClient;
- LRESULT lResult = CBaseWindow::WndProc( hwnd, msg, wp, lp, pbProcessed );
- BOOL bWasProcessed = *pbProcessed;
- *pbProcessed = TRUE;
-
switch( msg )
{
case WM_INITDIALOG:
prefs_tree = new PrefsTreeCtrl( p_intf, this, hwnd, hInst );
UpdateWindow( hwnd );
- return lResult;
+ break;
+
+ case WM_CLOSE:
+ EndDialog( hwnd, LOWORD( wp ) );
+ break;
case WM_COMMAND:
if( LOWORD(wp) == IDOK )
{
OnOk();
EndDialog( hwnd, LOWORD( wp ) );
- return TRUE;
}
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
case WM_NOTIFY:
- if ( ( ((LPNMHDR)lp)->hwndFrom == prefs_tree->hwndTV ) &&
- ( ((LPNMHDR)lp)->code == TVN_SELCHANGED ) )
+ if( lp && prefs_tree &&
+ ((LPNMHDR)lp)->hwndFrom == prefs_tree->hwndTV &&
+ ((LPNMHDR)lp)->code == TVN_SELCHANGED )
{
prefs_tree->OnSelectTreeItem( (NM_TREEVIEW FAR *)(LPNMHDR)lp,
hwnd, hInst );
- return TRUE;
}
-
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
case WM_VSCROLL:
{
tvi.mask = TVIF_PARAM;
tvi.hItem = TreeView_GetSelection( prefs_tree->hwndTV );
TreeView_GetItem( prefs_tree->hwndTV, &tvi );
- ConfigTreeData *config_data = prefs_tree->FindModuleConfig( (ConfigTreeData *)tvi.lParam );
+ ConfigTreeData *config_data =
+ prefs_tree->FindModuleConfig( (ConfigTreeData *)tvi.lParam );
if ( hwnd == config_data->panel->config_window )
{
int dy;
config_data->panel->oldvalue = newvalue;
}
+ break;
}
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
default:
- // the message was not processed
- // indicate if the base class handled it
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
}
- return lResult;
+ return FALSE;
}
/*****************************************************************************
Processes messages sent to the main window.
***********************************************************************/
-LRESULT SubsFileDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp,
- PBOOL pbProcessed )
+LRESULT SubsFileDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
{
SHINITDLGINFO shidi;
SHMENUBARINFO mbi;
TCHAR psz_text[256];
- LRESULT lResult = CBaseWindow::WndProc( hwnd, msg, wp, lp, pbProcessed );
- BOOL bWasProcessed = *pbProcessed;
- *pbProcessed = TRUE;
-
switch( msg )
{
case WM_INITDIALOG:
UDS_SETBUDDYINT | UDS_NOTHOUSANDS,
0, 0, 0, 0, hwnd, 0, hInst, fps_edit, 16000, 0, (int)f_fps );
- return lResult;
+ break;
+
+ case WM_CLOSE:
+ EndDialog( hwnd, LOWORD( wp ) );
+ break;
case WM_COMMAND:
if ( LOWORD(wp) == IDOK )
subsfile_mrl.push_back( szFps );
EndDialog( hwnd, LOWORD( wp ) );
- return TRUE;
+ break;
}
if( HIWORD(wp) == BN_CLICKED )
{
{
SHFullScreen( GetForegroundWindow(), SHFS_HIDESIPBUTTON );
OnFileBrowse();
- return TRUE;
}
}
-
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
default:
- // the message was not processed
- // indicate if the base class handled it
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
+ break;
}
- return lResult;
+ return FALSE;
}
/*****************************************************************************
{
public:
/* Constructor */
- VideoWindow( intf_thread_t *_p_intf, HINSTANCE _hInst, HWND _p_parent );
+ VideoWindow( intf_thread_t *_p_intf, HWND _p_parent );
virtual ~VideoWindow();
void *GetWindow( vout_thread_t *, int *, int *, unsigned int *,
HWND p_parent;
vlc_mutex_t lock;
- virtual LRESULT WndProc( HWND hwnd, UINT msg,
- WPARAM wParam, LPARAM lParam, PBOOL pbProcessed );
+ virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
};
/*****************************************************************************
* Public methods.
*****************************************************************************/
-CBaseWindow *CreateVideoWindow( intf_thread_t *p_intf, HINSTANCE hInst,
- HWND p_parent )
+CBaseWindow *CreateVideoWindow( intf_thread_t *p_intf, HWND p_parent )
{
- return new VideoWindow( p_intf, hInst, p_parent );
+ return new VideoWindow( p_intf, p_parent );
}
/*****************************************************************************
* Constructor.
*****************************************************************************/
-VideoWindow::VideoWindow( intf_thread_t *_p_intf, HINSTANCE _hInst,
- HWND _p_parent )
+VideoWindow::VideoWindow( intf_thread_t *_p_intf, HWND _p_parent )
{
RECT rect;
WNDCLASS wc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hIcon = NULL;
- wc.hInstance = _hInst;
+ wc.hInstance = GetModuleHandle(0);
wc.hCursor = NULL;
wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
wc.lpszMenuName = NULL;
_T("VIDEOWINDOW"), _T(""), WS_CHILD | WS_VISIBLE | WS_BORDER,
0, 20, rect.right - rect.left,
rect.bottom - rect.top - 2*(MENU_HEIGHT-1) - SLIDER_HEIGHT - 20,
- p_parent, NULL, _hInst, (void *)this );
+ p_parent, NULL, GetModuleHandle(0), (void *)this );
ShowWindow( p_child_window, SW_SHOW );
UpdateWindow( p_child_window );
Processes messages sent to the main window.
***********************************************************************/
-LRESULT VideoWindow::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp,
- PBOOL pbProcessed )
+LRESULT VideoWindow::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
{
- LRESULT lResult = CBaseWindow::WndProc( hwnd, msg, wp, lp, pbProcessed );
- BOOL bWasProcessed = *pbProcessed;
- *pbProcessed = TRUE;
-
- switch( msg )
- {
- default:
- // the message was not processed
- // indicate if the base class handled it
- *pbProcessed = bWasProcessed;
- lResult = FALSE;
- return lResult;
- }
-
- return lResult;
+ return DefWindowProc( hwnd, msg, wp, lp );
}
static int ControlWindow( intf_thread_t *p_intf, void *p_window,
if( !pInterface->InitInstance( hInstance, p_intf ) ) return;
// Main message loop
- int status;
- while( ( status = GetMessage( &msg, NULL, 0, 0 ) ) != 0 )
+ while( GetMessage( &msg, NULL, 0, 0 ) > 0 )
{
- if( status == -1 ) return;
TranslateMessage( &msg );
DispatchMessage( &msg );
}
virtual ~CBaseWindow() {};
HWND hWnd; // The main window handle
- BOOL DlgFlag; // True if object is a dialog window
- static LRESULT CALLBACK BaseWndProc( HWND hwnd, UINT msg,
- WPARAM wParam, LPARAM lParam );
+ static LRESULT CALLBACK BaseWndProc( HWND, UINT, WPARAM, LPARAM );
+ static int CreateDialogBox( HWND, CBaseWindow * );
protected:
HWND hwndCB; // The command bar handle
HINSTANCE GetInstance () const { return hInst; }
- virtual LRESULT WndProc( HWND hwnd, UINT msg,
- WPARAM wParam, LPARAM lParam,
- PBOOL pbProcessed ){*pbProcessed = FALSE; return 0;}
+ virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM ) = 0;
};
class FileInfo;
class OpenDialog;
class PrefsDialog;
-CBaseWindow *CreateVideoWindow( intf_thread_t *, HINSTANCE, HWND );
+CBaseWindow *CreateVideoWindow( intf_thread_t *, HWND );
/* Main Interface */
class Interface : public CBaseWindow
protected:
- virtual LRESULT WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp,
- PBOOL pbProcessed );
+ virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
void OnOpenFileSimple( void );
void OnPlayStream( void );
TCHAR szFileInfoClassName[100]; // Main window class name
TCHAR szFileInfoTitle[100]; // Main window name
- virtual LRESULT WndProc( HWND hwnd, UINT msg,
- WPARAM wParam, LPARAM lParam, PBOOL pbProcessed );
+ virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
void UpdateFileInfo( HWND );
BOOL CreateTreeView( HWND );
};
intf_thread_t *p_intf;
- virtual LRESULT WndProc( HWND hwnd, UINT msg,
- WPARAM wParam, LPARAM lParam,
- PBOOL pbProcessed );
+ virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
HWND hListView;
void UpdateLog(void);
void OnOk();
void UpdateInfo();
- virtual LRESULT WndProc( HWND hwnd, UINT msg,
- WPARAM wParam, LPARAM lParam,
- PBOOL pbProcessed );
+ virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
/* Controls for the iteminfo dialog box */
HWND uri_label;
intf_thread_t *p_intf;
- virtual LRESULT WndProc( HWND hwnd, UINT msg,
- WPARAM wParam, LPARAM lParam,
- PBOOL pbProcessed );
+ virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
HWND mrl_box;
HWND mrl_label;
HWND fps_edit;
HWND fps_spinctrl;
- virtual LRESULT WndProc( HWND hwnd, UINT msg,
- WPARAM wParam, LPARAM lParam,
- PBOOL pbProcessed );
+ virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
/* Event handlers (these functions should _not_ be virtual) */
void OnFileBrowse();
void OnPopupEna();
void OnPopupInfo( HWND hwnd );
- virtual LRESULT WndProc( HWND hwnd, UINT msg,
- WPARAM wParam, LPARAM lParam,
- PBOOL pbProcessed );
+ virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
};
/* Timer */
PrefsTreeCtrl *prefs_tree;
- virtual LRESULT WndProc( HWND hwnd, UINT msg,
- WPARAM wParam, LPARAM lParam,
- PBOOL pbProcessed );
+ virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
};
/*****************************************************************************
#pragma code_page(1252)\r
#endif //_WIN32\r
\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Dialog\r
-//\r
-\r
-IDD_DUMMY DIALOG DISCARDABLE 0, 0, 186, 90\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Dummy"\r
-FONT 8, "System"\r
-BEGIN\r
-END\r
-\r
-IDD_MESSAGES DIALOG DISCARDABLE 0, 0, 138, 90\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Messages"\r
-FONT 8, "System"\r
-BEGIN\r
- PUSHBUTTON "Save as...",IDSAVEAS,76,7,50,14\r
- PUSHBUTTON "Clear",IDCLEAR,11,7,50,14\r
-END\r
-\r
/////////////////////////////////////////////////////////////////////////////\r
//\r
// Menubar\r