Re: Gtk::Image and mouse click
- From: "Paul Davis" <pjdavis engineering uiowa edu>
- To: "Petr Hracek" <petr hracek siemens com>
- Cc: gtkmm-list gnome org
- Subject: Re: Gtk::Image and mouse click
- Date: Fri, 1 Dec 2006 12:00:32 -0600
bool
MainWindow::on_image2_button_press( GdkEventButton* ev )
{
...
//Note that these are relative to the widget.
int x = ( int ) ev->x ;
int y = ( int ) ev->y ;
fprintf( stderr, "Clicked %d %d\n", x, y ) ;
...
}
On 12/1/06, Petr Hracek <petr hracek siemens com> wrote:
Hi
thankx for help.
With the GdkEventButton compilation is OK.
And how can I handled coordinates from event.
regards
Paul Davis wrote:
> Is it just me, or should that function prototype be:
>
> MainWindow::on_image2_button_press( GdkEventButton* event ) ; ?
>
> And whats on line 201 in MainWindow.cpp?
>
> Paul Davis
>
> On 12/1/06, Petr Hracek <petr hracek siemens com> wrote:
>>
>> I change function on_image2_button_press to the return value bool
>> and allways I return true now,
>> but the result is:
>>
>> In header:
>> virtual bool on_image2_button_press(GdkEvent * event);
>>
>> In CPP code:
>> bool MainWindow::on_image2_button_press(GdkEvent * event)
>> {
>> Log("Procedure for button press");
>> int x=0;
>> int y=0;
>> image2.get_pointer(x,y);
>> sprintf(message,"X coor: %d, Y coor: %d",x,y);
>> Log(message);
>> imageOperation->getObject(x,y);
>>
>> Log("End procedure for button press");
>> return true;
>> }
>>
>> and result is:
>> /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:
>> In member function 'typename
>> sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1,
>> void, void, void, void, void, void>::type
>> sigc::adaptor_functor<T_functor>::operator()(T_arg1) const
>> [with T_arg1 = GdkEventButton* const&, T_functor =
>> sigc::bound_mem_functor1<bool, MainWindow, GdkEvent*>]':
>> /usr/include/sigc++-2.0/sigc++/functors/slot.h:137: instantiated from
>> 'static T_return sigc::internal::slot_call1<T_functor,
>> T_return, T_arg1>::call_it(sigc::internal::slot_rep*,
>> typename sigc::type_trait<T_arg3>::take) [with T_functor =
>> sigc::bound_mem_functor1<bool, MainWindow, GdkEvent*>, T_return = bool,
>> T_arg1 = GdkEventButton*]'
>> /usr/include/sigc++-2.0/sigc++/functors/slot.h:144: instantiated from
>> 'static void* (* sigc::internal::slot_call1<T_functor,
>> T_return, T_arg1>::address())(void*) [with T_functor =
>> sigc::bound_mem_functor1<bool, MainWindow, GdkEvent*>, T_return = bool,
>> T_arg1 = GdkEventButton*]'
>> /usr/include/sigc++-2.0/sigc++/functors/slot.h:529: instantiated from
>> 'sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with
>> T_functor =
>> sigc::bound_mem_functor1<bool, MainWindow, GdkEvent*>, T_return = bool,
>> T_arg1 = GdkEventButton*]'
>> /usr/include/sigc++-2.0/sigc++/functors/slot.h:1157: instantiated
>> from
>> 'sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil,
>> sigc::nil,
>> sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor =
>> sigc::bound_mem_functor1<bool, MainWindow, GdkEvent*>, T_return = bool,
>> T_arg1 = GdkEventButton*]'
>> MainWindow.cpp:201: instantiated from here
>> /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:84:
>> error: no match for call to
>> '(sigc::bound_mem_functor1<bool, MainWindow, GdkEvent*>)
>> (GdkEventButton* const&)'
>> /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1850:
>> note: candidates are: T_return
>> sigc::bound_mem_functor1<T_return, T_obj,
>> T_arg1>::operator()(typename sigc::type_trait<T_arg3>::take) const [with
>> T_return = bool, T_obj = MainWindow, T_arg1 = GdkEvent*]
>> make: *** [MainWindow.o] Error 1
>>
>> regards
>> Petr
>>
>> Murray Cumming wrote:
>> On Fri, 2006-12-01 at 14:53 +0100, Petr Hracek wrote:
>>
>>
>> Hi all,
>>
>> I know that I wrote following problem before a 2 months but
>> unfortunatelly
>> I've upgraded my PC from FC5 to FC6 and now it does not work again.
>>
>> [snip]
>>
>> I don't believe this code compiled on FC5 either.
>>
>>
>>
>> and function look like this:
>> void MainWindow::on_image2_button_press(GdkEvent * event)
>> {
>>
>> [snip]
>>
>> That signal handler should return a bool. Template errors are indeed
>> often difficult to understand.
>>
>>
>>
>>
>> --
>> Petr Hráček, PSE ECT PSS27
>> ANFDATA spol. s r.o.
>> a SIEMENS Company
>> MediaHall, Bidlaky 20, 639 00 Brno, Czech Republic
>> Tel. +420 533 337 267
>> Fax. +420 533 337 252
>> mailto: petr hracek siemens com
>>
>>
>> _______________________________________________
>> gtkmm-list mailing list
>> gtkmm-list gnome org
>> http://mail.gnome.org/mailman/listinfo/gtkmm-list
>>
>>
>>
--
Petr Hráček, PSE ECT PSS27
ANFDATA spol. s r.o.
a SIEMENS Company
MediaHall, Bidlaky 20, 639 00 Brno, Czech Republic
Tel. +420 533 337 267
Fax. +420 533 337 252
mailto: petr hracek siemens com
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]