int IndicatorWindow::handle(int iEvent) { switch (iEvent) { case FL_PUSH: switch (Fl::event_button()) { case 1: // left button { // find the indicator and move the floating indicator there int x = Fl::event_x(); float fIndicator = findIndicator(x, 5); if (fIndicator != ks_fIndicatorNotFound) { floatingIndicator(fIndicator); redraw(); } } break; } return 1; case FL_RELEASE: switch (Fl::event_button()) { case 1: // left button // do the callback function so that the parent can update other // widgets accordingly do_callback(); break; } return 1; default: break; } return Fl_Double_Window::handle(iEvent); }
void HbIndicatorGroupPrivate::removeIndicator(const IndicatorClientInfo &indicator) { int index = findIndicator(indicator); if (index >= 0) { mRemovedIndicators.append(mIndicators.at(index).iconPath); mIndicators.removeAt(index); } }
void HbIndicatorGroupPrivate::updateIndicators(const QList<IndicatorClientInfo> &clientInfo) { for (int i = 0; i < clientInfo.size(); ++i) { int index = findIndicator(clientInfo.at(i)); if (index >= 0) { mIndicators[index].iconPath = clientInfo.at(i).iconPath; } else { const IndicatorClientInfo &indicator = clientInfo.at(i); if (canAddIndicator(indicator)) { mIndicators.prepend(indicator); mIndicatorAdded = true; } } } }