~ubuntu-branches/debian/squeeze/simutrans/squeeze

« back to all changes in this revision

Viewing changes to gui/halt_list_filter_frame.cc

  • Committer: Bazaar Package Importer
  • Author(s): Ansgar Burchardt
  • Date: 2009-03-06 20:40:03 UTC
  • mfrom: (1.2.1 upstream) (6.2.1 sid)
  • Revision ID: james.westby@ubuntu.com-20090306204003-tk31qp9fyr7cmv4g
Tags: 102.0-1
* New upstream release.
  + Refresh patches.
  + Update translations.

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
#include "gui_convoiinfo.h"
12
12
#include "halt_list_filter_frame.h"
13
13
#include "../simconvoi.h"
14
 
#include "../simplay.h"
15
14
#include "../simcolor.h"
16
15
 
17
16
#include "../besch/ware_besch.h"
24
23
    koord(21, 58),
25
24
    koord(21, 74),
26
25
    koord(21, 90),
27
 
    koord(21, 106),
28
26
    koord(21, 122),
29
 
    koord(5, 143),
30
 
    koord(21, 159),
31
 
    koord(21, 175),
 
27
    koord(21, 138),
 
28
    koord(5, 207),
 
29
    koord(21, 223),
 
30
    koord(21, 239),
32
31
    koord(125, 4),
33
 
    koord(265, 4)
 
32
    koord(265, 4),
 
33
    koord(21, 154),
 
34
    koord(21, 170),
 
35
    koord(21, 186),
 
36
    koord(21, 106)
34
37
};
35
38
 
36
39
const char *halt_list_filter_frame_t::filter_buttons_text[FILTER_BUTTONS] = {
45
48
    "hlf_chk_overflow",
46
49
    "hlf_chk_keine_verb",
47
50
    "hlf_chk_waren_annahme",
48
 
    "hlf_chk_waren_abgabe"
 
51
    "hlf_chk_waren_abgabe",
 
52
    "hlf_chk_monorailstop",
 
53
    "hlf_chk_maglevstop",
 
54
    "hlf_chk_narrowgaugestop",
 
55
    "hlf_chk_tramstop"
49
56
};
50
57
 
51
58
halt_list_frame_t::filter_flag_t halt_list_filter_frame_t::filter_buttons_types[FILTER_BUTTONS] = {
60
67
    halt_list_frame_t::ueberfuellt_filter,
61
68
    halt_list_frame_t::ohneverb_filter,
62
69
    halt_list_frame_t::ware_an_filter,
63
 
    halt_list_frame_t::ware_ab_filter
 
70
    halt_list_frame_t::ware_ab_filter,
 
71
    halt_list_frame_t::monorailstop_filter,
 
72
    halt_list_frame_t::maglevstop_filter,
 
73
    halt_list_frame_t::narrowgaugestop_filter,
 
74
    halt_list_frame_t::tramstop_filter
64
75
};
65
76
 
66
77
 
82
93
                        filter_buttons[i].foreground = COL_WHITE;
83
94
                }
84
95
        }
85
 
        name_filter_input.setze_text(main_frame->access_name_filter(), 30);
86
 
        name_filter_input.setze_groesse(koord(100, 14));
87
 
        name_filter_input.setze_pos(koord(5, 17));
 
96
        name_filter_input.set_text(main_frame->access_name_filter(), 30);
 
97
        name_filter_input.set_groesse(koord(100, 14));
 
98
        name_filter_input.set_pos(koord(5, 17));
88
99
        name_filter_input.add_listener(this);
89
100
        add_komponente(&name_filter_input);
90
101
 
98
109
        ware_invers_an.add_listener(this);
99
110
        add_komponente(&ware_invers_an);
100
111
 
101
 
        ware_scrolly_an.setze_pos(koord(125, 33));
 
112
        ware_scrolly_an.set_pos(koord(125, 33));
102
113
        add_komponente(&ware_scrolly_an);
103
114
 
104
 
        for(i=n=0; i<warenbauer_t::gib_waren_anzahl(); i++) {
105
 
                const ware_besch_t *ware = warenbauer_t::gib_info(i);
 
115
        for(i=n=0; i<warenbauer_t::get_waren_anzahl(); i++) {
 
116
                const ware_besch_t *ware = warenbauer_t::get_info(i);
106
117
                if(ware != warenbauer_t::nichts) {
107
118
                        ware_item_t *item = new ware_item_t(this, NULL, ware);
108
 
                        item->init(button_t::square, translator::translate(ware->gib_name()), koord(16, 16*n++ + 4));
 
119
                        item->init(button_t::square, translator::translate(ware->get_name()), koord(16, 16*n++ + 4));
109
120
                        ware_cont_an.add_komponente(item);
110
121
                }
111
122
        }
112
 
        ware_cont_an.setze_groesse(koord(100, 16*n + 4));
113
 
        ware_scrolly_an.setze_groesse(koord(125, 173));
 
123
        ware_cont_an.set_groesse(koord(100, 16*n + 4));
 
124
        ware_scrolly_an.set_groesse(koord(125, 221));
114
125
 
115
126
        ware_alle_ab.init(button_t::roundbox, "hlf_btn_alle", koord(265, 17), koord(41, 14));
116
127
        ware_alle_ab.add_listener(this);
122
133
        ware_invers_ab.add_listener(this);
123
134
        add_komponente(&ware_invers_ab);
124
135
 
125
 
        ware_scrolly_ab.setze_pos(koord(265, 33));
 
136
        ware_scrolly_ab.set_pos(koord(265, 33));
126
137
        add_komponente(&ware_scrolly_ab);
127
138
 
128
 
        for(i=n=0; i<warenbauer_t::gib_waren_anzahl(); i++) {
129
 
                const ware_besch_t *ware = warenbauer_t::gib_info(i);
 
139
        for(i=n=0; i<warenbauer_t::get_waren_anzahl(); i++) {
 
140
                const ware_besch_t *ware = warenbauer_t::get_info(i);
130
141
                if(ware != warenbauer_t::nichts) {
131
142
                ware_item_t *item = new ware_item_t(this, ware, NULL);
132
 
                item->init(button_t::square, translator::translate(ware->gib_name()), koord(16, 16*n++ + 4));
 
143
                item->init(button_t::square, translator::translate(ware->get_name()), koord(16, 16*n++ + 4));
133
144
                        ware_cont_ab.add_komponente(item);
134
145
                }
135
146
        }
136
 
        ware_cont_ab.setze_groesse(koord(100, 16*n + 4));
137
 
        ware_scrolly_ab.setze_groesse(koord(125, 173));
 
147
        ware_cont_ab.set_groesse(koord(100, 16*n + 4));
 
148
        ware_scrolly_ab.set_groesse(koord(125, 221));
138
149
 
139
 
        setze_fenstergroesse(koord(395, 227));
 
150
        set_fenstergroesse(koord(395, 275));
140
151
}
141
152
 
142
153
 
152
163
 * This method is called if an action is triggered
153
164
 * @author V. Meyer
154
165
 */
155
 
bool halt_list_filter_frame_t::action_triggered(gui_komponente_t *komp,value_t /* */)
 
166
bool halt_list_filter_frame_t::action_triggered( gui_action_creator_t *komp,value_t /* */)
156
167
{
157
168
    int i;
158
169
 
159
170
    for(i = 0; i < FILTER_BUTTONS; i++) {
160
171
        if(komp == filter_buttons + i) {
161
 
            main_frame->setze_filter(filter_buttons_types[i], !main_frame->gib_filter(filter_buttons_types[i]));
 
172
            main_frame->set_filter(filter_buttons_types[i], !main_frame->get_filter(filter_buttons_types[i]));
162
173
            main_frame->display_list();
163
174
            return true;
164
175
        }
165
176
    }
166
177
    if(komp == &ware_alle_ab) {
167
 
        main_frame->setze_alle_ware_filter_ab(1);
 
178
        main_frame->set_alle_ware_filter_ab(1);
168
179
        main_frame->display_list();
169
180
        return true;
170
181
    }
171
182
    if(komp == &ware_keine_ab) {
172
 
        main_frame->setze_alle_ware_filter_ab(0);
 
183
        main_frame->set_alle_ware_filter_ab(0);
173
184
        main_frame->display_list();
174
185
        return true;
175
186
    }
176
187
    if(komp == &ware_invers_ab) {
177
 
        main_frame->setze_alle_ware_filter_ab(-1);
 
188
        main_frame->set_alle_ware_filter_ab(-1);
178
189
        main_frame->display_list();
179
190
        return true;
180
191
    }
181
192
    if(komp == &ware_alle_an) {
182
 
        main_frame->setze_alle_ware_filter_an(1);
 
193
        main_frame->set_alle_ware_filter_an(1);
183
194
        main_frame->display_list();
184
195
        return true;
185
196
    }
186
197
    if(komp == &ware_keine_an) {
187
 
        main_frame->setze_alle_ware_filter_an(0);
 
198
        main_frame->set_alle_ware_filter_an(0);
188
199
        main_frame->display_list();
189
200
        return true;
190
201
    }
191
202
    if(komp == &ware_invers_an) {
192
 
        main_frame->setze_alle_ware_filter_an(-1);
 
203
        main_frame->set_alle_ware_filter_an(-1);
193
204
        main_frame->display_list();
194
205
        return true;
195
206
    }
204
215
void halt_list_filter_frame_t::ware_item_triggered(const ware_besch_t *ware_ab, const ware_besch_t *ware_an)
205
216
{
206
217
    if(ware_ab) {
207
 
        main_frame->setze_ware_filter_ab(ware_ab, -1);
 
218
        main_frame->set_ware_filter_ab(ware_ab, -1);
208
219
    }
209
220
    if(ware_an) {
210
 
        main_frame->setze_ware_filter_an(ware_an, -1);
 
221
        main_frame->set_ware_filter_an(ware_an, -1);
211
222
    }
212
223
    main_frame->display_list();
213
224
}
217
228
void halt_list_filter_frame_t::zeichnen(koord pos, koord gr)
218
229
{
219
230
        for(int i = 0; i < FILTER_BUTTONS; i++) {
220
 
                filter_buttons[i].pressed = main_frame->gib_filter(filter_buttons_types[i]);
 
231
                filter_buttons[i].pressed = main_frame->get_filter(filter_buttons_types[i]);
221
232
        }
222
233
        gui_frame_t::zeichnen(pos, gr);
223
234
}