annotate gui/mplayer/gtk/mb.c @ 24744:d81eef9beb1b

DirectShow based tv:// driver for win32 Teletext is also supported (but 625 system parameters are hardcoded). pthreads is required for teletext. Code is still experimental.
author voroshil
date Sat, 13 Oct 2007 17:14:39 +0000
parents 17bf4f4b0715
children 8a0adeba5910
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23077
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
1
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
2 #include "app.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
3 #include "config.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
4 #include "help_mp.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
5
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
6 #include "../pixmaps/error.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
7 #include "../pixmaps/warning.xpm"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
8
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
9 #include "../widgets.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
10 #include "mb.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
11 #include "common.h"
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
12
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
13 GtkWidget * gtkMessageBoxText;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
14 GtkWidget * MessageBox = NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
15
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
16 void ShowMessageBox( const char * msg )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
17 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
18 if ( MessageBox ) { gtk_widget_hide( MessageBox ); gtk_widget_destroy( MessageBox ); }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
19 MessageBox=create_MessageBox( 0 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
20 if ( strlen( msg ) < 20 ) gtk_widget_set_usize( MessageBox,196,-1 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
21 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
22
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
23 static void on_Ok_released( GtkButton * button,gpointer user_data )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
24 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
25 gtk_widget_hide( MessageBox );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
26 gtk_widget_destroy( MessageBox );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
27 MessageBox=NULL;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
28 }
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
29
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
30 GtkWidget * create_MessageBox( int type )
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
31 {
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
32 GtkWidget * vbox1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
33 GtkWidget * hbox1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
34 GtkWidget * hbuttonbox1;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
35 GtkWidget * Ok;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
36 GtkAccelGroup * accel_group;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
37 GtkStyle * pixmapstyle;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
38 GdkPixmap * pixmapwid;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
39 GdkBitmap * mask;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
40
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
41 accel_group=gtk_accel_group_new();
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
42
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
43 MessageBox=gtk_window_new( GTK_WINDOW_TOPLEVEL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
44 gtk_widget_set_name( MessageBox,"MessageBox" );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
45 gtk_object_set_data( GTK_OBJECT( MessageBox ),"MessageBox",MessageBox );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
46 gtk_widget_set_events( MessageBox,GDK_EXPOSURE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_VISIBILITY_NOTIFY_MASK );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
47 gtk_window_set_title( GTK_WINDOW( MessageBox ),"MPlayer ..." );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
48 gtk_window_set_position( GTK_WINDOW( MessageBox ),GTK_WIN_POS_CENTER );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
49 gtk_window_set_modal( GTK_WINDOW( MessageBox ),TRUE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
50 gtk_window_set_policy( GTK_WINDOW( MessageBox ),TRUE,TRUE,FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
51 gtk_window_set_wmclass( GTK_WINDOW( MessageBox ),"Message","MPlayer" );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
52
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
53 gtk_widget_realize( MessageBox );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
54 gtkAddIcon( MessageBox );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
55
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
56 vbox1=AddVBox( AddDialogFrame( MessageBox ),0 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
57 hbox1=AddHBox( vbox1,1 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
58
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
59 pixmapstyle=gtk_widget_get_style( MessageBox );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
60
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
61 pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( MessageBox->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar ** )warning_xpm );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
62 WarningPixmap=gtk_pixmap_new( pixmapwid,mask );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
63 pixmapwid=gdk_pixmap_colormap_create_from_xpm_d( MessageBox->window,gdk_colormap_get_system(),&mask,&pixmapstyle->bg[GTK_STATE_NORMAL],(gchar ** )error_xpm );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
64 ErrorPixmap=gtk_pixmap_new( pixmapwid,mask );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
65
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
66 gtk_widget_set_name( WarningPixmap,"pixmap1" );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
67 gtk_widget_hide( WarningPixmap );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
68 gtk_box_pack_start( GTK_BOX( hbox1 ),WarningPixmap,FALSE,FALSE,0 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
69 gtk_widget_set_usize( WarningPixmap,55,-2 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
70
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
71 gtk_widget_set_name( ErrorPixmap,"pixmap1" );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
72 gtk_widget_hide( ErrorPixmap );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
73 gtk_box_pack_start( GTK_BOX( hbox1 ),ErrorPixmap,FALSE,FALSE,0 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
74 gtk_widget_set_usize( ErrorPixmap,55,-2 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
75
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
76 gtkMessageBoxText=gtk_label_new( "Text jol. Ha ezt megerted,akkor neked nagyon jo a magyar tudasod,te." );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
77 gtk_widget_set_name( gtkMessageBoxText,"gtkMessageBoxText" );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
78 gtk_widget_show( gtkMessageBoxText );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
79 gtk_box_pack_start( GTK_BOX( hbox1 ),gtkMessageBoxText,TRUE,TRUE,0 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
80 // gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText ),GTK_JUSTIFY_FILL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
81 gtk_label_set_justify( GTK_LABEL( gtkMessageBoxText ),GTK_JUSTIFY_CENTER );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
82 gtk_label_set_line_wrap( GTK_LABEL( gtkMessageBoxText ),FALSE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
83
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
84 AddHSeparator( vbox1 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
85 hbuttonbox1=AddHButtonBox( vbox1 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
86 Ok=AddButton( MSGTR_Ok,hbuttonbox1 );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
87
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
88 gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Return,0,GTK_ACCEL_VISIBLE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
89 gtk_widget_add_accelerator( Ok,"clicked",accel_group,GDK_Escape,0,GTK_ACCEL_VISIBLE );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
90
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
91 gtk_signal_connect( GTK_OBJECT( MessageBox ),"destroy",GTK_SIGNAL_FUNC( WidgetDestroy ),&MessageBox );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
92 gtk_signal_connect( GTK_OBJECT( Ok ),"clicked",GTK_SIGNAL_FUNC( on_Ok_released ),NULL );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
93
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
94 gtk_window_add_accel_group( GTK_WINDOW( MessageBox ),accel_group );
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
95
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
96 return MessageBox;
17bf4f4b0715 Gui --> gui
diego
parents:
diff changeset
97 }