Home || Visual Search || Applications || Architecture || Important Messages || OGL || Src

void Impala::Application::SDash::SurveillanceApp::BuildInspectionPane ( Window wnd,
int  x,
int  y,
int  w,
int  h 
) [inline]

Definition at line 541 of file SurveillanceApp.cpp.

References Impala::Application::SDash::AlertWindow::AddMailTo(), Impala::Application::SDash::CameraEventListPane::EventList(), Impala::Visualization::VideoJpgPlayerControl::GetButton(), OglGui::WindowView2D::GetOglView(), Impala::Application::SDash::gIpAddress, Impala::Application::SDash::gRoiPath, OglGui::OglWindow::H(), Impala::Application::SDash::MAILTO_TEXTS, mAlertWindow, mAllCamerasButton, mCameraEventListPane, mDetectedPersons, mExitButton, mHideTrackButton, mIdPane, mInspectionPane, Impala::Application::SDash::IdentificationPane::mRoiCorrelations, Impala::Application::SDash::IdentificationPane::mRoiInfo, mShowTrackButton, mSimilarPersons, mSimilarsButton, mSubjectWindow, mSubmitButton, mTimeLine, mVideoPlayer, mVideoPlayerCamText, mVideoPlayerControl, mVideoPlayerListener, mVideoPlayerView, mVideos, mVideoTimeSlider, Impala::Application::SDash::NR_OF_POLICEMEN, Impala::Visualization::VideoJpgPlayer::OglView(), Impala::Application::SDash::IdentificationPane::Positives(), OglGui::Window::ScaleChildren(), OglGui::OglWindow::ScaleTo(), OglGui::AlertTimeLine::SetAlertTimeLineListener(), Impala::Application::SDash::SurveillanceApp::SubmitButtonListener::SetAlertWindow(), OglGui::StaticText::SetAlign(), OglGui::Window::SetAllowChildScaling(), SetAsBox(), OglGui::OglWindow::SetBorderFillShaded(), OglGui::OglWindow::SetBorderType(), OglGui::Button::SetButtonListener(), Impala::Application::SDash::CameraEventList::SetButtonListener(), OglGui::Window::SetForeground(), Impala::Application::SDash::IdentificationPane::SetGuiEventListener(), OglGui::OglWindow::SetRoundness(), OglGui::StaticText::SetShadowColor(), Impala::Application::SDash::TimeSlider::SetTimeSliderListener(), Impala::Visualization::VideoJpgPlayer::SetVideoJpgPlayerListener(), OglGui::OglWindow::SetVisible(), OglGui::Window::SetWindowListener(), Impala::Application::SDash::IdentificationPane::Similars(), OglGui::OglWindow::W(), OglGui::Window::Window(), and OglGui::OglWindow::X().

Referenced by BuildGUI().

00542     {
00543         mInspectionPane = new Window(wnd,x,y,w,h);
00544         Window* pane = mInspectionPane;
00545         pane->ScaleTo(wnd);
00546 
00547         // The inspect videoplayer part
00548         GroupBox* gB = new GroupBox(pane,0,0,406,h,"Event playback");
00549         SetAsBox(gB);
00550 
00551         mVideoPlayer = new VideoJpgPlayer(gB,6,gB->H()-324,392,320, mVideos[0]);
00552         mVideoPlayer->SetVisible(false);
00553 
00554         mVideoPlayerCamText = new StaticText(mVideoPlayer,58,mVideoPlayer->H()-32,
00555                                              180, 20, "", false, true);
00556         mVideoPlayerCamText->SetForeground(0xffffff00); // Yellow
00557         mVideoPlayerCamText->SetShadowColor(oglBLACK);
00558         mVideoPlayerCamText->SetAlign(oglLeftAlign, oglCenterAlign);
00559         mVideoPlayerCamText->SetBorderType(-1);
00560         mVideoPlayerCamText->SetBorderFillShaded(2);
00561 
00562         mVideoTimeSlider =
00563             new TimeSlider(gB,2,32,gB->W()-4,46,14*3600+14*60+40,15*60);
00564         mVideoTimeSlider->SetTimeSliderListener(this);
00565 
00566         mVideoPlayerControl =
00567             new VideoJpgPlayerControl(gB,4,4,gB->W()-8,28,mVideoPlayer);
00568         mVideoPlayerControl->SetBorderType(3);
00569 
00570         for (int i=1; i<8; i++)
00571         {
00572             Button* btn = mVideoPlayerControl->GetButton(i);
00573             btn->SetRoundness(0,0,0,0);
00574             btn->SetBorderType(BEV_ETCHED);
00575         }
00576         gB->ScaleChildren(0,1);
00577 
00578         // Instantiate our class that allows us to be involved with the
00579         // OnImViewer interface (OnPreDrawView,OnDrawView, OnMouse...)
00580         // of the OGLVIEW* used in the video player.
00581         // This object is passed as userData to the videoPlayerListener
00582         mVideoPlayerView = new VideoPlayerView(mVideoPlayer->OglView());
00583 
00584         mVideoPlayerListener = new VideoPlayerListener(mVideos, *mDetectedPersons);
00585         mVideoPlayer->SetVideoJpgPlayerListener(mVideoPlayerListener,
00586                                                 (void*)mVideoPlayerView);
00587 
00588         mCameraEventListPane->EventList()->SetButtonListener(this,(void*) mVideoPlayer);
00589 
00590         mTimeLine->SetAlertTimeLineListener(mCameraEventListPane, (void*)1);
00591 
00592         int gBX = gB->X()+gB->W()+4;
00593 
00594         gB = new GroupBox(pane,gBX,h-182,72,182,"Inspect");
00595         mSubjectWindow = new WindowView2D(gB, 4, 34, 64, 128);
00596         // This solves the problem of scewed drawing for images with un-even width
00597         mSubjectWindow->GetOglView()->texturing = 0;
00598         mSimilarsButton = new Button(gB,4,4,64,26,"Search",BEV_ETCHED,true);
00599         //new Button(gB,4,4,70,24,"Clear",BEV_ETCHED,true);
00600         SetAsBox(gB);
00601 
00602         mVideoPlayerView->SubjectWindow(mSubjectWindow, gRoiPath);
00603         mSimilarsButton->SetButtonListener(this);
00604 
00605         gB->ScaleChildren();
00606 
00607         gBX+=76;
00608         //mIdPane = new IdentificationPane(gRoiPath, NR_OF_CAMERAS_STREET, pane,gBX,52,w-gBX,h-52,"");
00609         mIdPane = new IdentificationPane(mVideos, gRoiPath, pane,gBX,52,w-gBX,h-52,"");
00610         mIdPane->mRoiInfo = mDetectedPersons;
00611         mIdPane->mRoiCorrelations = mSimilarPersons;
00612         //mIdPane->TimesPerFrame(&TIMES_PER_FRAME[0]);
00613         SetAsBox(mIdPane);
00614         SetAsBox(mIdPane->Similars());
00615         SetAsBox(mIdPane->Positives());
00616         mIdPane->SetGuiEventListener(this);
00617 
00618 
00619         int btnW        = 110;
00620         int btnSpace    = 8;
00621         mShowTrackButton = new Button(pane,gBX,12,btnW,32,
00622                                       "Suggest track", BEV_ETCHED,true);
00623         mShowTrackButton->SetButtonListener(this);
00624         mHideTrackButton = new Button(pane,gBX+btnW+btnSpace,12,btnW,32,
00625                                       "Clear track", BEV_ETCHED,true);
00626         mHideTrackButton->SetButtonListener(this);
00627 
00628         mSubmitButton = new Button(pane,gBX+2*(btnW+btnSpace),12,btnW,32,
00629                                    "Alert personnel",BEV_ETCHED,true);
00630         SubmitButtonListener* submitListener = new SubmitButtonListener(this);
00631         mSubmitButton->SetButtonListener(submitListener, (void*) mIdPane);
00632 
00633 #ifdef ALL_MONITORS
00634 mAllCamerasButton = new Button(pane,gBX+3*(btnW+btnSpace),12,btnW,32,
00635                                 "All cameras", BEV_ETCHED,true);
00636 mAllCamerasButton->SetButtonListener(this);
00637 #endif
00638 
00639         mExitButton = new Button(pane,gBX+10+4*(btnW+btnSpace),12,60,32,
00640                                  "EXIT",BEV_ETCHED,true);
00641         mExitButton->SetVisible(false);
00642         mExitButton->SetButtonListener(this);
00643 
00644         pane->ScaleChildren();
00645         // See lengthy explanation in BuildSecondScreen below
00646         pane->SetAllowChildScaling(false);
00647 
00648         mAlertWindow = new AlertWindow(this, gIpAddress);
00649         for (int i = 0; i < NR_OF_POLICEMEN; i++)
00650             mAlertWindow->AddMailTo(MAILTO_TEXTS[i]);
00651         mAlertWindow->SetVisible(false);
00652         submitListener->SetAlertWindow(mAlertWindow);
00653 
00654         mInspectionPane->SetWindowListener(this);
00655     } //BuildInspectionPane()

Here is the call graph for this function:


Generated on Thu Jan 13 09:16:09 2011 for ImpalaSrc by  doxygen 1.5.1