1
// $Id: Controllable.cc,v 1.5 2001/12/22 15:15:09 cagri Exp $
3
// Pingus - A free Lemmings clone
4
// Copyright (C) 2000 Ingo Ruhnke <grumbel@gmx.de>
6
// This program is free software; you can redistribute it and/or
7
// modify it under the terms of the GNU General Public License
8
// as published by the Free Software Foundation; either version 2
9
// of the License, or (at your option) any later version.
11
// This program is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
// GNU General Public License for more details.
16
// You should have received a copy of the GNU General Public License
17
// along with this program; if not, write to the Free Software
18
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20
#include "Controllable.hh"
22
Controllable::Controllable (boost::shared_ptr<Controller> arg_controller)
23
: controller (arg_controller)
25
//std::cout << "Basic buttons..." << std::endl;
26
left_press_slot = controller->left->signal_pressed.connect(this, &Controllable::wrapper_on_left_press);
27
middle_press_slot = controller->middle->signal_pressed.connect(this, &Controllable::wrapper_on_middle_press);
28
right_press_slot = controller->right->signal_pressed.connect(this, &Controllable::wrapper_on_right_press);
30
//std::cout << "Abort buttons..." << std::endl;
31
pause_press_slot = controller->pause->signal_pressed.connect(this, &Controllable::wrapper_on_pause_press);
32
abort_press_slot = controller->abort->signal_pressed.connect(this, &Controllable::wrapper_on_abort_press);
34
//std::cout << "Scroll buttons..." << std::endl;
35
scroll_left_press_slot = controller->scroll_left->signal_pressed.connect(this, &Controllable::wrapper_on_scroll_left_press);
36
scroll_right_press_slot = controller->scroll_right->signal_pressed.connect(this, &Controllable::wrapper_on_scroll_right_press);
37
scroll_up_press_slot = controller->scroll_up->signal_pressed.connect(this, &Controllable::on_scroll_up_press);
38
scroll_down_press_slot = controller->scroll_down->signal_pressed.connect(this, &Controllable::on_scroll_down_press);
40
//std::cout << "Action buttons..." << std::endl;
41
next_action_press_slot = controller->next_action->signal_pressed.connect(this, &Controllable::wrapper_on_next_action_press);
42
previous_action_press_slot = controller->previous_action->signal_pressed.connect(this, &Controllable::wrapper_on_previous_action_press);
43
//std::cout << "Constructing Controllable 1" << std::endl;
46
left_release_slot = controller->left->signal_released.connect(this, &Controllable::wrapper_on_left_release);
47
middle_release_slot = controller->middle->signal_released.connect(this, &Controllable::wrapper_on_middle_release);
48
right_release_slot = controller->right->signal_released.connect(this, &Controllable::wrapper_on_right_release);
49
//std::cout << "Constructing Controllable 2" << std::endl;
51
pause_release_slot = controller->pause->signal_released.connect(this, &Controllable::wrapper_on_pause_release);
52
abort_release_slot = controller->abort->signal_released.connect(this, &Controllable::wrapper_on_abort_release);
54
scroll_left_release_slot = controller->scroll_left->signal_released.connect(this, &Controllable::wrapper_on_scroll_left_release);
55
scroll_right_release_slot = controller->scroll_right->signal_released.connect(this, &Controllable::wrapper_on_scroll_right_release);
56
scroll_up_release_slot = controller->scroll_up->signal_released.connect(this, &Controllable::on_scroll_up_release);
57
scroll_down_release_slot = controller->scroll_down->signal_released.connect(this, &Controllable::on_scroll_down_release);
59
next_action_release_slot = controller->next_action->signal_released.connect(this, &Controllable::wrapper_on_next_action_release);
60
previous_action_release_slot = controller->previous_action->signal_released.connect(this, &Controllable::wrapper_on_previous_action_release);
63
Controllable::~Controllable ()