Класс SlideEvent

#include <SlideEvent.h>

Полный список членов класса

Открытые типы

enum  SlideEventID { toLeftSlideEvent, toRightSlideEvent, toDownSlideEvent, toUpSlideEvent }
typedef sigc::signal< void,
SlideEventID
SlideEvent_Signal
typedef sigc::signal< void > SlideVoidEvent_Signal

Открытые члены

void set_widget (Gtk::Widget &w)
void set_w_zone (double w)
void set_way_length (double l)
SlideEvent_Signal signal_slide_event ()
SlideVoidEvent_Signal signal_toleft_slide_event ()
SlideVoidEvent_Signal signal_toright_slide_event ()
SlideVoidEvent_Signal signal_toup_slide_event ()
SlideVoidEvent_Signal signal_todown_slide_event ()

Защищенные члены

bool on_motion_event (GdkEvent *event)

Защищенные данные

Gtk::Widget * widget
double prev_x
double prev_y
gint32 prev_t
bool but_pressed
double w_zone
double way_length
SlideEvent_Signal s_event
SlideVoidEvent_Signal l_event
SlideVoidEvent_Signal r_event
SlideVoidEvent_Signal u_event
SlideVoidEvent_Signal d_event

Друзья

std::ostream & operator<< (std::ostream &os, SlideEventID i)


Подробное описание

Автор:
Pavel Vaynerman <pv@etersoft.ru>
Реализация событий типа slide (вертикальный и горизонтальный, влево и вправо). Это универсальная, подключающаяся к любым Gtk::Widget обёртка, которая генерирует события "Slide в лево", "Slide в право", "Slide в верх", "Slide вниз", позволяющая подключится, к соответствующему сигналу и уже обрабатывать по своему усмотрению...
Пример использования
    class MyWidget
    {
        MyWidget()
        {
            ...
            sev.set_widget(*this);
            sev.signal_slide_event().connect( sigc::mem_fun(*this, &MyWidget::slide_event) );
            ...
        }

        protected:
            SlideEvent sev;

            void slide_event( SlideEvent::SlideEventID i )
            {
                cout << "SlideEvent: " << i << endl;
            }
        
    } 
Пример использования (подключение к стороннему виджету )
    class MyWidget
    {
        MyWidget()
        {
            ...
            sev.set_widget(w);
            sev.signal_slide_event().connect( sigc::mem_fun(*this, &MyWidget::slide_event) );
            ...
        }

        protected:
            OtherWidget w;
            SlideEvent sev;

            void slide_event( SlideEvent::SlideEventID i )
            {
                cout << "SlideEvent: " << i << endl;
            }
    }

Перечисления

Элементы перечислений:
toLeftSlideEvent  горизонтальный slide (rigth to left)
toRightSlideEvent  горизонтальный slide (left to right)
toDownSlideEvent  вертикальный slide ( up to down )
toUpSlideEvent  вертикальный slide ( down to up )


Методы

void SlideEvent::set_w_zone ( double  w  )  [inline]

разрешённая ширина зоны в которой движение будет считаться корректным (по сути насколько разрешено отклонится при движении "указателя")

void SlideEvent::set_way_length ( double  l  )  [inline]

длина "пути", который надо провести ""указателем", чтобы сработало событие


Объявления и описания членов классов находятся в файлах:

Документация по UniWidgets. Последние изменения: Fri Oct 10 09:57:50 2014. Создано системой  doxygen 1.5.9