本文整理汇总了C++中cursorResolve函数的典型用法代码示例。如果您正苦于以下问题:C++ cursorResolve函数的具体用法?C++ cursorResolve怎么用?C++ cursorResolve使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cursorResolve函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: while
void eListboxServiceContent::cursorHome()
{
if (m_current_marked && m_saved_cursor == m_list.end())
{
if (m_cursor_number >= m_size)
{
m_cursor_number = m_size-1;
--m_cursor;
}
while (m_cursor_number)
{
swapServices(m_cursor--, m_cursor);
--m_cursor_number;
if (m_listbox && m_cursor_number)
m_listbox->entryChanged(cursorResolve(m_cursor_number));
}
}
else
{
m_cursor = m_list.begin();
m_cursor_number = 0;
while (m_cursor != m_list.end())
{
if (!((m_hide_number_marker && (m_cursor->flags & eServiceReference::isNumberedMarker)) || (m_cursor->flags & eServiceReference::isInvisible)))
break;
m_cursor++;
m_cursor_number++;
}
}
}
开发者ID:OpenLD,项目名称:enigma2-wetek,代码行数:30,代码来源:listboxservice.cpp
示例2: removeCurrent
void eListboxServiceContent::removeCurrent()
{
if (m_size && m_listbox)
{
if (m_cursor_number == --m_size)
{
m_list.erase(m_cursor--);
if (m_size)
{
--m_cursor_number;
m_listbox->entryRemoved(cursorResolve(m_cursor_number+1));
}
else
m_listbox->entryRemoved(cursorResolve(m_cursor_number));
}
else
{
m_list.erase(m_cursor++);
m_listbox->entryRemoved(cursorResolve(m_cursor_number));
}
}
}
开发者ID:popazerty,项目名称:enigma2,代码行数:22,代码来源:listboxservice.cpp
示例3: setCurrent
void eListboxServiceContent::setCurrent(const eServiceReference &ref)
{
int index=0;
for (list::iterator i(m_list.begin()); i != m_list.end(); ++i, ++index)
if ( *i == ref )
{
m_cursor = i;
m_cursor_number = index;
break;
}
if (m_listbox)
m_listbox->moveSelectionTo(cursorResolve(index));
}
开发者ID:katapip,项目名称:enigma2,代码行数:13,代码来源:listboxservice.cpp
示例4: i
int eListboxServiceContent::getNextMarkerPos()
{
if (!m_listbox)
return 0;
list::iterator i(m_cursor);
int index = m_cursor_number;
while (index < (m_size-1))
{
++i;
++index;
if ((i->flags & eServiceReference::isMarker) && !(i->flags & eServiceReference::isInvisible))
break;
}
return cursorResolve(index);
}
开发者ID:popazerty,项目名称:enigma2,代码行数:15,代码来源:listboxservice.cpp
示例5: addService
void eListboxServiceContent::addService(const eServiceReference &service, bool beforeCurrent)
{
if (beforeCurrent && m_size)
m_list.insert(m_cursor, service);
else
m_list.push_back(service);
if (m_size++)
{
++m_cursor_number;
if (m_listbox)
m_listbox->entryAdded(cursorResolve(m_cursor_number-1));
}
else
{
m_cursor = m_list.begin();
m_cursor_number=0;
m_listbox->entryAdded(0);
}
}
开发者ID:popazerty,项目名称:enigma2,代码行数:19,代码来源:listboxservice.cpp
示例6: setCurrentMarked
int eListboxServiceContent::setCurrentMarked(bool state)
{
bool prev = m_current_marked;
m_current_marked = state;
if (state != prev && m_listbox)
{
m_listbox->entryChanged(cursorResolve(m_cursor_number));
if (!state)
{
if (!m_lst)
m_service_center->list(m_root, m_lst);
if (m_lst)
{
ePtr<iMutableServiceList> list;
if (m_lst->startEdit(list))
eDebug("no editable list");
else
{
eServiceReference ref;
getCurrent(ref);
if(!ref)
eDebug("no valid service selected");
else
{
int pos = cursorGet();
eDebugNoNewLine("move %s to %d ", ref.toString().c_str(), pos);
if (list->moveService(ref, cursorGet()))
eDebug("failed");
else
eDebug("ok");
}
}
}
else
eDebug("no list available!");
}
}
return 0;
}
开发者ID:popazerty,项目名称:enigma2,代码行数:41,代码来源:listboxservice.cpp
示例7: while
void eListboxServiceContent::cursorEnd()
{
if (m_current_marked && m_saved_cursor == m_list.end())
{
while (m_cursor != m_list.end())
{
list::iterator prev = m_cursor++;
++m_cursor_number;
if ( prev != m_list.end() && m_cursor != m_list.end() )
{
swapServices(m_cursor, prev);
if ( m_listbox )
m_listbox->entryChanged(cursorResolve(m_cursor_number));
}
}
}
else
{
m_cursor = m_list.end();
m_cursor_number = m_size;
}
}
开发者ID:popazerty,项目名称:enigma2,代码行数:22,代码来源:listboxservice.cpp
示例8: cursorResolve
int eListboxServiceContent::cursorGet()
{
return cursorResolve(m_cursor_number);
}
开发者ID:popazerty,项目名称:enigma2,代码行数:4,代码来源:listboxservice.cpp
示例9: removeMarked
void eListboxServiceContent::removeMarked(const eServiceReference &ref)
{
m_marked.erase(ref);
if (m_listbox)
m_listbox->entryChanged(cursorResolve(lookupService(ref)));
}
开发者ID:popazerty,项目名称:enigma2,代码行数:6,代码来源:listboxservice.cpp
注:本文中的cursorResolve函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论