]> git.sesse.net Git - vlc/blob - modules/gui/win32/menu.h
* changed OSGraphics constructor (needed for X11)
[vlc] / modules / gui / win32 / menu.h
1 /*****************************************************************************\r
2  * menu.h: prototypes for menu functions\r
3  *****************************************************************************\r
4  * Copyright (C) 2002 VideoLAN\r
5  * $Id: menu.h,v 1.5 2003/02/12 02:11:58 ipkiss Exp $\r
6  *\r
7  * Authors: Olivier Teuliere <ipkiss@via.ecp.fr>\r
8  *\r
9  * This program is free software; you can redistribute it and/or modify\r
10  * it under the terms of the GNU General Public License as published by\r
11  * the Free Software Foundation; either version 2 of the License, or\r
12  * (at your option) any later version.\r
13  *\r
14  * This program is distributed in the hope that it will be useful,\r
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
17  * GNU General Public License for more details.\r
18  *\r
19  * You should have received a copy of the GNU General Public License\r
20  * along with this program; if not, write to the Free Software\r
21  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.\r
22  *****************************************************************************/\r
23 \r
24 #ifndef menuH\r
25 #define menuH\r
26 //----------------------------------------------------------------------------\r
27 class TMenusGen : public TObject\r
28 {\r
29 private:\r
30     intf_thread_t *p_intf;\r
31 \r
32     /* local pointers to main window menu items */\r
33     TMenuItem *MenuChannel;\r
34     TMenuItem *PopupChannel;\r
35     TMenuItem *MenuADevice;\r
36     TMenuItem *PopupADevice;\r
37     TMenuItem *MenuVDevice;\r
38     TMenuItem *PopupVDevice;\r
39     TMenuItem *MenuLanguage;\r
40     TMenuItem *PopupLanguage;\r
41     TMenuItem *MenuSubtitles;\r
42     TMenuItem *PopupSubtitles;\r
43     TMenuItem *MenuProgram;\r
44     TMenuItem *PopupProgram;\r
45     TMenuItem *MenuTitle;\r
46     TMenuItem *MenuChapter;\r
47     TMenuItem *PopupNavigation;\r
48     TMenuItem *MenuAddInterface;\r
49 \r
50     /* Language information */\r
51     es_descriptor_t   * p_audio_es_old;\r
52     es_descriptor_t   * p_spu_es_old;\r
53 \r
54     /* Helpful functions */\r
55     int Item2Index( TMenuItem *Root, TMenuItem *Item );\r
56     TMenuItem *Index2Item( TMenuItem *Root, int i_index, bool SingleColumn );\r
57     int __fastcall Data2Title( int data );\r
58     int __fastcall Data2Chapter( int data );\r
59     int __fastcall Pos2Data( int title, int chapter );\r
60     AnsiString __fastcall TMenusGen::CleanCaption( AnsiString Caption );\r
61 \r
62     void __fastcall VarChange( vlc_object_t *, const char *, TMenuItem *,\r
63                                TMenuItem *, TMenuItem * );\r
64     void __fastcall LangChange( TMenuItem *, TMenuItem *, TMenuItem *, int );\r
65     void __fastcall ProgramChange( TMenuItem *, TMenuItem * );\r
66 \r
67     void __fastcall SetupVarMenu( vlc_object_t *, const char *, TMenuItem *,\r
68                                   TNotifyEvent );\r
69     void __fastcall SetupModuleMenu( const char *, TMenuItem *, TNotifyEvent );\r
70     void __fastcall ProgramMenu( TMenuItem *, pgrm_descriptor_t *,\r
71                                  TNotifyEvent );\r
72     void __fastcall RadioMenu( TMenuItem *, AnsiString, int, int,\r
73                                TNotifyEvent );\r
74     void __fastcall LanguageMenu( TMenuItem *, es_descriptor_t *, int,\r
75                                   TNotifyEvent );\r
76     void __fastcall NavigationMenu( TMenuItem *, TNotifyEvent );\r
77 public:\r
78     __fastcall TMenusGen( intf_thread_t *_p_intf );\r
79 \r
80     /* menu generation */\r
81     void __fastcall SetupMenus();\r
82 \r
83     /* callbacks for menuitems */\r
84     void __fastcall AoutVarClick( TObject *Sender );\r
85     void __fastcall VoutVarClick( TObject *Sender );\r
86     void __fastcall InterfaceModuleClick( TObject *Sender );\r
87     void __fastcall MenuLanguageClick( TObject *Sender );\r
88     void __fastcall PopupLanguageClick( TObject *Sender );\r
89     void __fastcall MenuSubtitleClick( TObject *Sender );\r
90     void __fastcall PopupSubtitleClick( TObject *Sender );\r
91     void __fastcall MenuProgramClick( TObject *Sender );\r
92     void __fastcall PopupProgramClick( TObject *Sender );\r
93     void __fastcall MenuTitleClick( TObject *Sender );\r
94     void __fastcall MenuChapterClick( TObject *Sender );\r
95     void __fastcall PopupNavigationClick( TObject *Sender );\r
96 };\r
97 //----------------------------------------------------------------------------\r
98 #endif\r