CMapService::CMapService(AppBlocInfo pa_stMapServiceInfo, FzrteByte * const mapAddr, stMappingElem *pa_stMapElem, void *callback) { m_appBlocName = pa_stMapServiceInfo.appBlocName; m_mapInstName = pa_stMapServiceInfo.dataMapInstanceName; cm_memMapAddr = mapAddr; cm_memSize = pa_stMapElem->memSize; m_oMapLayer = static_cast<fzrte::comm_infra::CMapLayer*>(callback); createTags(pa_stMapElem->tagsList); c_eventAggregator::getInstance().SubscribeEvent(MS_EVENT_CLIENT(++eventClientId), this, pa_stMapElem->m_BindedEvent); }
EventsWindow::EventsWindow(QWidget *parent) : QWidget(parent, Qt::Window) { setWindowTitle(tr("Bluecherry - Event Browser")); resize(QSize(900, 600)); QBoxLayout *layout = new QHBoxLayout(this); QBoxLayout *filtersLayout = new QVBoxLayout; layout->addLayout(filtersLayout); createResultsView(); /* Filters */ m_sourcesView = new DVRServersView; EventSourcesModel *sourcesModel = new EventSourcesModel(bcApp->serverRepository(), m_sourcesView); DVRServersProxyModel *proxyModel = new DVRServersProxyModel(sourcesModel); proxyModel->setDynamicSortFilter(true); proxyModel->setSourceModel(sourcesModel); proxyModel->sort(0); m_sourcesView->setModel(proxyModel); m_sourcesView->setMaximumWidth(180); //m_sourcesView->setMaximumHeight(150); filtersLayout->addWidget(m_sourcesView); connect(sourcesModel, SIGNAL(checkedSourcesChanged(QMap<DVRServer*,QList<int>>)), m_resultsView->eventsModel(), SLOT(setFilterSources(QMap<DVRServer*,QList<int>>))); createDateFilter(filtersLayout); #if 0 /* This is not useful currently. */ QLabel *label = new QLabel(tr("Minimum Level")); label->setStyleSheet(QLatin1String("font-weight:bold;")); filtersLayout->addWidget(label); filtersLayout->addWidget(createLevelFilter()); #endif QLabel *label = new QLabel(tr("Type")); label->setStyleSheet(QLatin1String("font-weight:bold;")); filtersLayout->addWidget(label); filtersLayout->addWidget(createTypeFilter()); #if 0 /* Tags are not fully implemented yet */ label = new QLabel(tr("Tags")); label->setStyleSheet(QLatin1String("font-weight:bold;")); filtersLayout->addWidget(label); filtersLayout->addWidget(createTags()); filtersLayout->addWidget(createTagsInput()); #endif /* Splitter between results and playback */ m_videoSplitter = new QSplitter(Qt::Vertical); layout->addWidget(m_videoSplitter, 1); /* Results */ m_resultTabs = new QTabWidget; m_videoSplitter->addWidget(m_resultTabs); m_videoSplitter->setCollapsible(0, false); m_resultTabs->addTab(m_resultsView, tr("List")); m_resultTabs->addTab(createTimeline(), tr("Timeline")); /* Playback */ m_eventViewer = new EventViewWindow; m_eventViewer->layout()->setMargin(0); m_eventViewer->hide(); m_videoSplitter->addWidget(m_eventViewer); m_modelEventsCursor = new ModelEventsCursor(); m_modelEventsCursor->setModel(m_resultsView->model()); m_eventViewer->setEventsCursor(m_modelEventsCursor); connect(m_modelEventsCursor, SIGNAL(indexUpdated()), this, SLOT(cursorIndexUpdated())); /* Settings */ QSettings settings; restoreGeometry(settings.value(QLatin1String("ui/events/geometry")).toByteArray()); m_videoSplitter->restoreState(settings.value(QLatin1String("ui/events/videoSplitter")).toByteArray()); }