4 #include <lib/dvb/dvb.h>
5 #include <lib/gui/ewidget.h>
6 #include <lib/gui/combobox.h>
7 #include <lib/gui/statusbar.h>
14 class eTransponderWidget
;
15 class eFEStatusWidget
;
18 class eTextInputField
;
24 bool operator < ( const scanEntry
& e
) const
26 if ( packet
&& e
.packet
)
27 return packet
->orbital_position
< e
.packet
->orbital_position
;
33 class tsSelectType
: public eWidget
35 eListBox
<eListBoxEntryMenu
> *list
;
36 void selected(eListBoxEntryMenu
*entry
);
37 int eventHandler( const eWidgetEvent
&e
);
38 eListBoxEntryCheck
*check
;
40 tsSelectType(eWidget
*parent
);
43 class tsManual
: public eWidget
45 eTransponder transponder
;
46 eButton
*b_start
, *b_manual_pids
;
47 eTransponderWidget
*transponder_widget
;
48 eFEStatusWidget
*festatus_widget
;
49 eCheckbox
*c_onlyFree
, *c_searchnit
, *c_useonit
, *c_usebat
;
55 tsManual(eWidget
*parent
, const eTransponder
&transponder
, eWidget
* LCDTitle
=0, eWidget
* LCDElement
=0);
56 eTransponder
&getTransponder() { return transponder
; }
59 class tsTryLock
: public eWidget
65 std::list
<eTransponder
>::iterator current_tp
;
66 void dvbEvent(const eDVBEvent
&event
);
67 int nextTransponder(int next
);
68 int eventHandler(const eWidgetEvent
&);
70 tsTryLock(eWidget
*parent
, tpPacket
*tppacket
, eString ttext
);
73 class tsAutomatic
: public eWidget
77 eCheckbox
*c_onlyFree
, *c_nocircular
;
79 std::list
<eTransponder
>::iterator current_tp
, last_tp
, first_tp
;
82 void networkSelected(eListBoxEntryText
*l
);
83 void dvbEvent(const eDVBEvent
&event
);
84 int eventHandler(const eWidgetEvent
&event
);
86 int nextNetwork(int first
=0);
87 int nextTransponder(int next
);
88 int tuneNext(int next
);
91 void openNetworkCombo();
92 tsAutomatic(eWidget
*parent
);
95 class tsText
: public eWidget
97 eLabel
*headline
, *body
;
99 int eventHandler(const eWidgetEvent
&event
);
101 tsText(eString headline
, eString body
, eWidget
*parent
);
104 class tsScan
: public eWidget
108 eLabel
*timeleft
, *service_name
, *service_provider
, *transponder_data
, *services_scanned
, *transponder_scanned
;
110 int tpLeft
, scantime
;
112 int eventHandler(const eWidgetEvent
&event
);
113 void dvbEvent(const eDVBEvent
&event
);
114 void dvbState(const eDVBState
&event
);
116 void serviceFound( const eServiceReferenceDVB
&, bool );
117 void addedTransponder( eTransponder
* );
119 bool only_new_services
;
120 int tpScanned
, newTVServices
, newRadioServices
, newDataServices
, servicesScanned
, newTransponders
;
121 tsScan(eWidget
*parent
, eString satText
="");
124 class eListBoxEntrySat
: public eListBoxEntryText
126 eTextPara
*statePara
;
127 const eString
& redraw(gPainter
*, const eRect
&, gColor
, gColor
, gColor
, gColor
, int );
136 tpPacket
*getTransponders() { return (tpPacket
*) key
; }
137 eListBoxEntrySat( eListBox
<eListBoxEntrySat
>*, tpPacket
* );
140 class tsMultiSatScan
: public eWidget
143 eListBox
<eListBoxEntrySat
> *satellites
;
144 void entrySelected( eListBoxEntrySat
* );
146 tsMultiSatScan(eWidget
*parent
);
147 void getSatsToScan( std::list
<scanEntry
> &);
150 class TransponderScan
: public eWindow
153 eLabel
*progress_text
;
154 eStatusBar
*statusbar
;
156 //#ifndef DISABLE_LCD
157 eWidget
*LCDElement
, *LCDTitle
;
159 std::list
<scanEntry
> toScan
;
160 eServiceReference service
;
163 void addService(const eServiceReference
&);
164 int eventHandler(const eWidgetEvent
&);
166 unsigned int last_orbital_pos
;
167 bool remove_new_flags
;
180 TransponderScan( eWidget
* LCDTitle
=0, eWidget
* LCDElement
=0, tState initial
=stateMenu
);
187 class ManualPIDWindow
: public eWindow
190 eTransponder transponder
;
191 eServiceReferenceDVB service
;
192 eTextInputField
*name
, *provider
,
193 *vpid
, *apid
, *pcrpid
, *tpid
,
195 eCheckbox
*cNoDVB
, *cUseSDT
, *cHoldName
, *isAC3Pid
;
196 eButton
*bReadNIT
, *bSetPIDs
, *bStore
, *bHexDec
;
205 void init_ManualPIDWindow(eTransponder
*tp
, const eServiceReferenceDVB
&ref
= eServiceReferenceDVB());
207 ManualPIDWindow(eTransponder
*tp
, const eServiceReferenceDVB
&ref
= eServiceReferenceDVB() );