Пример #1
0
        // KeyDown Events bound to IR remote
        private void FormTabs_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Y)
            {
                Conference = false;
                JoiningConf = true;
                Program.servoPort.closePort();
                Program.multiLateration.closePort();
                Program.bluetoothDevicePort.closePort();
                medicalInfoTimer.Stop();
                Program.theMGC.leaveConference();
                Data.constants.Emergency = false;
                InterfaceFunctions.Interface.sendRedButtonData((byte)4);

                Program.theMGC.Initialise(new apiManager.mgcUser(Data.constants.MGCLoginEmail, Data.constants.MGCLoginPass, Data.constants.thisUserInfo.Name, Data.constants.thisUserInfo.Location));
                Program.theMGC.setGUIFocus();
            }
            //Go back a menu
            if (e.KeyCode == Keys.X)
            {
                if (this.TabOverall.SelectedTab == TabJoinConf)
                {
                    LstJoinBuddy.Items.Clear();
                    LstJoinFav.Items.Clear();
                    AvatarList.Images.Clear();
                    AvatarList.Images.Add(System.Drawing.Image.FromFile("Images//locked.jpg"));                    
                    FirstJoinFav = true;
                    removeJoinBackButton(this);
                    this.TabOverall.SelectedTab = this.TabMainMenu;
                    this.ActiveControl = BtnMainJoinConf;
                }
                else if (this.TabOverall.SelectedTab == TabSettings)
                {
                    this.TabOverall.SelectedTab = this.TabMainMenu;
                    this.ActiveControl = BtnMainJoinConf;
                }
                else if (this.TabOverall.SelectedTab == TabCamera)
                {
                    Program.multiLateration.closePort();
                    Program.servoPort.closePort();
                    webcam.Stop();
                    this.TabOverall.SelectedTab = this.TabSettings;
                    this.ActiveControl = BtnSettingsCamera;
                }
                /* not used, kept in case wanted
                else if (this.TabOverall.SelectedTab == TabResSet)
                {
                    this.TabOverall.SelectedTab = this.TabSettings;
                    this.ActiveControl = BtnSettingsCamera;
                    if (initialSetup == true)
                    {
                        // create a writer and open the file
                        TextWriter tw = new StreamWriter("C:\\VS MGC STB\\mgcstb\\GUI_Forms\\firstSetup.txt");

                        // write a line of text to the file
                        tw.WriteLine("Initialised = true");

                        // close the stream
                        tw.Close();
                    }
                }*/
                else if (this.TabOverall.SelectedTab == TabCreate)
                {
                    Program.servoPort.closePort();
                    Program.multiLateration.closePort();
                    this.TabOverall.SelectedTab = this.TabMainMenu;
                    this.ActiveControl = BtnMainJoinConf;
                }
                else if (this.TabOverall.SelectedTab == TabInConf)
                {
                    LeaveBuddyConf();
                }
                else if (this.TabOverall.SelectedTab == TabCreatePrivate)
                {
                    LstCreatePrivateInvite.Items.Clear();
                    AvatarList.Images.Clear();
                    AvatarList.Images.Add(System.Drawing.Image.FromFile("Images//locked.jpg"));
                    this.TabOverall.SelectedTab = this.TabMainMenu;
                    this.ActiveControl = BtnMainJoinConf;
                }
            }

            // Go to Main Menu
            if (e.KeyCode == Keys.H)
            {
                if (this.TabOverall.SelectedTab == TabJoinConf)
                {
                    LstJoinBuddy.Items.Clear();
                    LstJoinFav.Items.Clear();
                    AvatarList.Images.Clear();
                    AvatarList.Images.Add(System.Drawing.Image.FromFile("Images//locked.jpg"));
                    FirstJoinFav = true;
                    removeJoinBackButton(this);
                    this.TabOverall.SelectedTab = this.TabMainMenu;
                    this.ActiveControl = BtnMainJoinConf;
                }
                else if (this.TabOverall.SelectedTab == TabSettings)
                {
                    this.TabOverall.SelectedTab = this.TabMainMenu;
                    this.ActiveControl = BtnMainJoinConf;
                }
                else if (this.TabOverall.SelectedTab == TabCamera)
                {
                    Program.multiLateration.closePort();
                    Program.servoPort.closePort();
                    webcam.Stop();
                    this.TabOverall.SelectedTab = this.TabMainMenu;
                    this.ActiveControl = BtnMainJoinConf;
                }
                /* not used, kept in case wanted
                else if (this.TabOverall.SelectedTab == TabResSet)
                {
                    this.TabOverall.SelectedTab = this.TabSettings;
                    this.ActiveControl = BtnSettingsCamera;
                    if (initialSetup == true)
                    {
                        // create a writer and open the file
                        TextWriter tw = new StreamWriter("C:\\VS MGC STB\\mgcstb\\GUI_Forms\\firstSetup.txt");

                        // write a line of text to the file
                        tw.WriteLine("Initialised = true");

                        // close the stream
                        tw.Close();
                    }
                }*/
                else if (this.TabOverall.SelectedTab == TabCreate)
                {
                    Program.servoPort.closePort();
                    Program.multiLateration.closePort();
                    this.TabOverall.SelectedTab = this.TabMainMenu;
                    this.ActiveControl = BtnMainJoinConf;
                }
                else if (this.TabOverall.SelectedTab == TabCreatePrivate)
                {
                    LstCreatePrivateInvite.Items.Clear();
                    AvatarList.Images.Clear();
                    AvatarList.Images.Add(System.Drawing.Image.FromFile("Locked.jpg"));
                    this.TabOverall.SelectedTab = this.TabMainMenu;
                    this.ActiveControl = BtnMainJoinConf;
                }
            }
            
            // Settings Screen
            if (Setting)
            {
                if (e.KeyCode == Keys.Down)
                {
                    CursorPressed = true;
                    if (this.ActiveControl == BtnSettingsCamera && CursorPressed == true)
                    {
                        findControlInSettingsTable(TblSettingsControls, BtnSettingsFontSmall);
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsFontSmall && CursorPressed == true)
                    {
                        findControlInSettingsTable(TblSettingsControls, BtnSettingsBack);
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsFontMed && CursorPressed == true)
                    {
                        findControlInSettingsTable(TblSettingsControls, BtnSettingsBack);
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsFontLarge && CursorPressed == true)
                    {
                        findControlInSettingsTable(TblSettingsControls, BtnSettingsBack);
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsBack && CursorPressed == true)
                    {
                        CursorPressed = false;
                    }
                }
                if (e.KeyCode == Keys.Up)
                {
                    CursorPressed = true;
                    if (this.ActiveControl == BtnSettingsCamera && CursorPressed == true)
                    {
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsFontSmall && CursorPressed == true)
                    {
                        if (BtnSettingsCamera.Enabled)
                        {
                            findControlInSettingsTable(TblSettingsControls, BtnSettingsCamera);
                        }
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsFontMed && CursorPressed == true)
                    {
                        if (BtnSettingsCamera.Enabled)
                        {
                            findControlInSettingsTable(TblSettingsControls, BtnSettingsCamera);
                        } 
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsFontLarge && CursorPressed == true)
                    {
                        if (BtnSettingsCamera.Enabled)
                        {
                            findControlInSettingsTable(TblSettingsControls, BtnSettingsCamera);
                        } 
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsBack && CursorPressed == true)
                    {
                        findControlInSettingsTable(TblSettingsControls, BtnSettingsFontSmall);                        
                        CursorPressed = false;
                    }
                }
                if (e.KeyCode == Keys.Left)
                {
                    CursorPressed = true;
                    if (this.ActiveControl == BtnSettingsFontSmall && CursorPressed == true)
                    {
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsFontMed && CursorPressed == true)
                    {
                        findControlInSettingsTable(TblSettingsControls, BtnSettingsFontSmall);
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsFontLarge && CursorPressed == true)
                    {
                        findControlInSettingsTable(TblSettingsControls, BtnSettingsFontMed);
                        CursorPressed = false;
                    }
                }
                if (e.KeyCode == Keys.Right)
                {
                    CursorPressed = true;
                    if (this.ActiveControl == BtnSettingsFontSmall && CursorPressed == true)
                    {
                        findControlInSettingsTable(TblSettingsControls, BtnSettingsFontMed);                        
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsFontMed && CursorPressed == true)
                    {
                        findControlInSettingsTable(TblSettingsControls, BtnSettingsFontLarge);
                        CursorPressed = false;
                    }
                    if (this.ActiveControl == BtnSettingsFontLarge && CursorPressed == true)
                    {
                        CursorPressed = false;
                    }
                }
            }

            // Camera Positioning
            if ((Positioning || Conference) && !ChoosingPromote)
            {
                // 2 tilts servos UP
                if (e.KeyCode == Keys.D2)
                {
                    if (Data.constants.Tilt <= CameraHigh)
                    {
                        Data.constants.Tilt += increment;
                    }
                    InterfaceFunctions.Interface.moveServos(Data.constants.Pan, Data.constants.Tilt);
                    LblCameraPositioning.Text = "Pan " + Data.constants.Pan * 180 / 255 + " Tilt " + Data.constants.Tilt * 180 / 255;                   
                }
                // 4 pans servos RIGHT
                if (e.KeyCode == Keys.D4)
                {
                    if (Data.constants.Pan >= CameraRight)
                    {
                        Data.constants.Pan -= increment;
                    }
                    InterfaceFunctions.Interface.moveServos(Data.constants.Pan, Data.constants.Tilt);
                    LblCameraPositioning.Text = "Pan " + Data.constants.Pan * 180 / 255 + " Tilt " + Data.constants.Tilt * 180 / 255;                  
                }
                // 8 Tilts servos DOWN
                if (e.KeyCode == Keys.D8)
                {
                    if (Data.constants.Tilt >= CameraLow)
                    {
                        Data.constants.Tilt -= increment;
                    }
                    InterfaceFunctions.Interface.moveServos(Data.constants.Pan, Data.constants.Tilt);
                    LblCameraPositioning.Text = "Pan " + Data.constants.Pan * 180 / 255 + " Tilt " + Data.constants.Tilt * 180 / 255;                  
                }
                // 6 Pans servos LEFT
                if (e.KeyCode == Keys.D6)
                {
                    if (Data.constants.Pan <= CameraLeft)
                    {
                        Data.constants.Pan += increment;
                    }
                    InterfaceFunctions.Interface.moveServos(Data.constants.Pan, Data.constants.Tilt);
                    LblCameraPositioning.Text = "Pan " + Data.constants.Pan * 180 / 255 + " Tilt " + Data.constants.Tilt * 180 / 255;                   
                }
                // 1 Pans servos RIGHT and tilts servos UP
                if (e.KeyCode == Keys.D1)
                {
                    if (Data.constants.Pan >= CameraRight)
                    {
                        Data.constants.Pan -= increment;
                    }
                    if (Data.constants.Tilt <= CameraHigh)
                    {
                        Data.constants.Tilt += increment;
                    }
                    InterfaceFunctions.Interface.moveServos(Data.constants.Pan, Data.constants.Tilt);
                    LblCameraPositioning.Text = "Pan " + Data.constants.Pan * 180 / 255 + " Tilt " + Data.constants.Tilt * 180 / 255;                   
                }
                // 3 Pans servos LEFT and tilts servos UP
                if (e.KeyCode == Keys.D3)
                {
                    if (Data.constants.Pan <= CameraLeft)
                    {
                        Data.constants.Pan += increment;
                    }
                    if (Data.constants.Tilt <= CameraHigh)
                    {
                        Data.constants.Tilt += increment;
                    }
                    InterfaceFunctions.Interface.moveServos(Data.constants.Pan, Data.constants.Tilt);
                    LblCameraPositioning.Text = "Pan " + Data.constants.Pan * 180 / 255 + " Tilt " + Data.constants.Tilt * 180 / 255;                   
                }
                // 7 Pans servos RIGHT and tilts servos DOWN
                if (e.KeyCode == Keys.D7)
                {
                    if (Data.constants.Pan >= CameraRight)
                    {
                        Data.constants.Pan -= increment;
                    }
                    if (Data.constants.Tilt >= CameraLow)
                    {
                        Data.constants.Tilt -= increment;
                    }
                    InterfaceFunctions.Interface.moveServos(Data.constants.Pan, Data.constants.Tilt);
                    LblCameraPositioning.Text = "Pan " + Data.constants.Pan * 180 / 255 + " Tilt " + Data.constants.Tilt * 180 / 255;                   
                }
                // 9 Pans servos LEFT and tilts servos DOWN
                if (e.KeyCode == Keys.D9)
                {
                    if (Data.constants.Pan <= CameraLeft)
                    {
                        Data.constants.Pan += increment;
                    }
                    if (Data.constants.Tilt >= CameraLow)
                    {
                        Data.constants.Tilt -= increment;
                    }
                    InterfaceFunctions.Interface.moveServos(Data.constants.Pan, Data.constants.Tilt);
                    LblCameraPositioning.Text = "Pan " + Data.constants.Pan * 180 / 255 + " Tilt " + Data.constants.Tilt * 180 / 255; 
                }
                // 5 CENTRES servos
                if (e.KeyCode == Keys.D5)
                {
                    Data.constants.Pan = 130;
                    Data.constants.Tilt = CameraLow + 20;
                    InterfaceFunctions.Interface.moveServos(Data.constants.Pan, Data.constants.Tilt);
                    LblCameraPositioning.Text = "Pan " + Data.constants.Pan * 180 / 255 + " Tilt " + Data.constants.Tilt * 180 / 255;
                }
            }

            // Not necessary, but kept for screenshot purposes
            if (Positioning == true)
            { 
                // Delete stops webcam preview and closes servo port
                if (e.KeyCode == Keys.Delete)
                {
                    LblCameraPositioning.Visible = false;
                    Positioning = false;
                    Program.servoPort.closePort();
                    webcam.Stop();
                }
            }

            // In conference input
            if (Conference == true)
            {
                //  X leaves the conference
                if (e.KeyCode == Keys.X)
                {
                    LeaveBuddyConf();
                }
                // B toggles Sending Video 
                if (e.KeyCode == Keys.B)
                {
                    Program.theMGC.toggleUserButton(apiManager.mgcUserButton.Video);
                    Program.theMGC.toggleUserButton(apiManager.mgcUserButton.Snapshot);
                }
                // N toggles snapshot mode
                if (e.KeyCode == Keys.N)
                {
                    Program.theMGC.toggleUserButton(apiManager.mgcUserButton.Snapshot);
                }                
                // M toggles Mic 
                if (e.KeyCode == Keys.M)
                {
                    Program.theMGC.toggleUserButton(apiManager.mgcUserButton.Audio);
                }
                // Adds current conf to fav list
                if (e.KeyCode == Keys.F)
                {
                    ServerFunctions.ServerFuncs.svrAddFavourite(Data.constants.CurrentUserConfID, Data.constants.UserID);
                }
                // Opens Buddy Invite Form
                if (e.KeyCode == Keys.O)
                {
                    if (ServerFunctions.ServerFuncs.svrConfInfo(Data.constants.CurrentUserConfID).Made_By == Data.constants.UserID)
                    {
                        BuddyInvite newform = new BuddyInvite();
                        newform.Visible = true;
                        Data.constants.isPermissioning = true;
                    }
                }
                // Allows promotion
                if (e.KeyCode == Keys.A)
                {
                    if (Data.constants.isPromoting == false)
                    {
                        Data.constants.isPromoting = true;
                    }
                    if(ChoosingPromote == false)
                    {
                        ChoosingPromote = true;
                        drawPromoteNumbers.Start();
                    }
                    else
                    {
                        ChoosingPromote = false;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        Program.theMGC.redrawConfWIndows();
                    }
                }
            }

            if (ChoosingPromote)
            {
                switch (e.KeyCode)
                {
                    case Keys.D1:
                        Data.constants.toPromote = 1;
                        ChoosingPromote = false;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        Program.theMGC.redrawConfWIndows();
                        break;
                    case Keys.D2:
                        Data.constants.toPromote = 2;
                        ChoosingPromote = false;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        Program.theMGC.redrawConfWIndows();
                        break;
                    case Keys.D3:
                        Data.constants.toPromote = 3;
                        ChoosingPromote = false;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        Program.theMGC.redrawConfWIndows();
                        break;
                    case Keys.D4:
                        Data.constants.toPromote = 4;
                        ChoosingPromote = false;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        Program.theMGC.redrawConfWIndows();
                        break;
                    case Keys.D5:
                        Data.constants.toPromote = 5;
                        ChoosingPromote = false;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        Program.theMGC.redrawConfWIndows();
                        break;
                    case Keys.D6:
                        Data.constants.toPromote = 6;
                        ChoosingPromote = false;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        Program.theMGC.redrawConfWIndows();
                        break;
                    case Keys.D7:
                        Data.constants.toPromote = 7;
                        ChoosingPromote = false;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        Program.theMGC.redrawConfWIndows();
                        break;
                    case Keys.D8:
                        Data.constants.toPromote = 8;
                        ChoosingPromote = false;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        Program.theMGC.redrawConfWIndows();
                        break;
                    case Keys.D9:
                        Data.constants.toPromote = 9;
                        ChoosingPromote = false;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        Program.theMGC.redrawConfWIndows();
                        break;
                        
                    case Keys.D0:
                        Data.constants.toPromote = 0;
                        Data.constants.isPromoting = false;
                        ChoosingPromote = false;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        Program.theMGC.redrawConfWIndows();
                        break;
                         
                        /*
                    default:
                        Data.constants.toPromote = 0;
                        drawPromoteNumbers.Stop();
                        this.Refresh();
                        break;
                         */
                }
            }

            if (JoiningConf)
            {
                if (e.KeyCode == Keys.Down)
                {
                    //ListCursorDown();    
                }

                if (e.KeyCode == Keys.Up)
                {
                    //ListCursorUp();
                }
                if (e.KeyCode == Keys.Left)
                {
                    ListCursorLeft();
                }
                if (e.KeyCode == Keys.Right)
                {
                    ListCursorRight();
                }
                if (e.KeyCode == Keys.R && LstJoinFav.Focused == true && LstJoinFav.FocusedItem.SubItems[1].Text != "No Favourites") 
                {
                    ServerFunctions.ServerFuncs.svrRemoveFavourite(Int32.Parse(LstJoinFav.FocusedItem.SubItems[3].Text), Data.constants.UserID);
                    LstJoinFav.Items.Clear();
                    FirstJoinFav = true;
                    updateServerLists();
                    PopulateFavListView();
                    LstJoinFav.Focus();
                    LstJoinFav.Items[0].Selected = true;
                    LstJoinFav.Items[0].Focused = true;
                }
            }
        }
Пример #2
0
 private void BtnCreatePriv_Click(object sender, EventArgs e)
 {
     conf_info newPrivConf = ServerFunctions.ServerFuncs.svrMakeConf(conf_type.PermPrivate, Data.constants.UserID);
     Data.constants.CurrentUserConfName = newPrivConf.Name;
     JoinBuddyConf(newPrivConf.ConferenceID, newPrivConf.ConferencePIN);
     // Open buddy permissions selection
     updateServerLists();
     BuddyInvite newform = new BuddyInvite();
     newform.Visible = true;
     Data.constants.isPermissioning = true;
 }