75
75
m_SplitConfig.clear();
78
long HSplitter::ProcessEvent (IEvent &ievent, long TraverseInfo, long ProcessEventInfo)
80
long ret = TraverseInfo;
81
long ProcEvInfo = ProcessEventInfo;
83
if (ievent.e_event == NUX_MOUSE_PRESSED)
85
if (!_geometry.IsPointInside (ievent.e_x, ievent.e_y) )
87
ProcEvInfo |= eDoNotProcess;
88
//return TraverseInfo;
94
std::vector<MySplitter *>::iterator it_splitter;
96
for (it_splitter = m_SplitterObject.begin(); it_splitter != m_SplitterObject.end(); it_splitter++)
98
ret = (*it_splitter)->OnEvent (ievent, ret, ProcEvInfo);
101
std::vector<Area *>::iterator it;
103
for (it = m_InterfaceObject.begin(),
104
it_splitter = m_SplitterObject.begin();
105
it != m_InterfaceObject.end();
109
clip_geo.SetX ( ( (*it)->GetGeometry().x) );
110
clip_geo.SetY ( ( (*it)->GetGeometry().y) );
111
clip_geo.SetWidth ( (*it)->GetGeometry().GetWidth() );
112
clip_geo.SetHeight ( (*it_splitter)->GetGeometry().y - (*it)->GetGeometry().y);
114
long DoNotProcess = ProcEvInfo;
116
if (clip_geo.IsPointInside (ievent.e_x, ievent.e_y) == false)
118
DoNotProcess |= eDoNotProcess;
121
if ( (*it)->Type().IsDerivedFromType (View::StaticObjectType) )
123
View *ic = static_cast<View *>(*it);
124
ret = ic->BaseProcessEvent (ievent, ret, ProcEvInfo | DoNotProcess);
126
else if ( (*it)->Type().IsObjectType (InputArea::StaticObjectType) )
128
InputArea *base_area = static_cast<InputArea *>(*it);
129
ret = base_area->OnEvent (ievent, ret, ProcEvInfo | DoNotProcess);
131
else if ( (*it)->Type().IsDerivedFromType (Layout::StaticObjectType) )
133
Layout *layout = static_cast<Layout *>(*it);
134
ret = layout->ProcessEvent (ievent, ret, ProcEvInfo | DoNotProcess);
139
ret = PostProcessEvent2 (ievent, ret, ProcEvInfo);
144
78
void HSplitter::Draw (GraphicsEngine &GfxContext, bool force_draw)
146
80
GfxContext.PushClippingRectangle (GetGeometry() );