/// <summary>
 /// Method <c>redistributeGadgets</c> moves gadgets that are out of columns 
 /// after display changment.
 /// </summary>
 public void redistributeGadgets()
 {
     DisplayConfigurationManager displayManager = new DisplayConfigurationManager();
     int nbColumns = currentDisplay.getColumns().Count;
     if (nbColumns < gadgetsColumns.Count)
     {
         for (int i = nbColumns; i < gadgetsColumns.Count; i++)
         {
             List<Gadget> gadgetsToMove = new List<Gadget>();
             foreach (Gadget gadget in gadgetsColumns[i])
             {
                 gadgetsToMove.Add(gadget);
             }
             foreach (Gadget gadget in gadgetsToMove)
             {
                 gadgetsColumns[i].Remove(gadget);
                 gadgetsColumns[nbColumns - 1].Add(gadget);
             }
         }
     }
 }
Ejemplo n.º 2
0
        public void initializeCockpitConfigurationTest()
        {
            DisplayConfigurationManager displayManager = new DisplayConfigurationManager();

            List<Gadget> gadgets = new List<Gadget>();
            Gadget gadget = new Gadget(1, "gadget1", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(2, "gadget2", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(3, "gadget3", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(4, "gadget4", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(5, "gadget5", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(6, "gadget6", position: 1);
            gadgets.Add(gadget);

            cockpitConfiguration = new CockpitConfiguration(33, gadgets, displayManager.getDisplayWithId(1));

            TestContext.RequestedPage.Session.Add("currentCockpitConfiguration", cockpitConfiguration);
        }
        /// <summary>
        /// This method has to regroup all informations concerning cockpit configuration
        /// based on parameter <paramref name="userName"/>. Once it's done, an instance
        /// of <c>CockpitConfiguration</c> is created and returned.
        /// </summary>
        /// <param name="userName">Contains the userName needed to know which cockpit 
        /// configuration to restore from database.</param>
        /// <returns>The new instance of <c>CockpitConfiguration</c> is returned.</returns>
        /// <exception cref="Exception">An exception is raised and thrown if a problem occurs 
        /// with database query.</exception>
        /// <remarks>If the user hasn't any cockpit configuration attributed, a default
        /// one is loaded.</remarks>
        public CockpitConfiguration getConfiguration(string userName)
        {
            XmlDocument configurationXml = getConfigurationXml(userName);
            int configurationID = int.Parse(configurationXml.GetElementsByTagName("cockpitConfiguration")[0].Attributes.GetNamedItem("ID").InnerText);

            /*
             * Then, display configuration is restored
             */
            XmlNode cockpitDisplayConfigIdNode = configurationXml.GetElementsByTagName("displayConfig")[0];

            int displayConfigurationID = int.Parse(cockpitDisplayConfigIdNode.InnerText);

            DisplayConfigurationManager displayManager = new DisplayConfigurationManager();
            DisplayConfiguration displayConfiguration = displayManager.getDisplayWithId(displayConfigurationID);

            /*
             * Finally, the list of gadgets used in the cockpit configuration are
             * restored and created.
             */
            XmlNodeList gadgetNodes = configurationXml.GetElementsByTagName("gadget");
            GadgetManager gadgetManager = new GadgetManager();
            List<Gadget> gadgets=new List<Gadget>();
            int gadgetId, gadgetPosition, uniqueId=0;

            foreach (XmlNode gadgetNode in gadgetNodes)
            {
                gadgetId = int.Parse(gadgetNode.Attributes.GetNamedItem("ID").InnerText);
                gadgetPosition = int.Parse(gadgetNode.Attributes.GetNamedItem("column").InnerText);
                Gadget gadgetToAdd = gadgetManager.getGadgetWithId(gadgetId);
                gadgetToAdd.setPosition(gadgetPosition);
                gadgetToAdd.setUniqueID(uniqueId++);
                gadgets.Add(gadgetToAdd);
            }

            return new CockpitConfiguration(configurationID, gadgets, displayConfiguration);
        }
Ejemplo n.º 4
0
        public void updateGadgetPositionTest()
        {
            int originColumnId = 0; // TODO: Initialize to an appropriate value
            int originRowId = 0; // TODO: Initialize to an appropriate value
            int destinationColumnId = 0; // TODO: Initialize to an appropriate value
            int destinationRowId = 0; // TODO: Initialize to an appropriate value

            CockpitConfiguration cockpitConfigurationToObtain;

            //*****************************************************************
            DisplayConfigurationManager displayManager = new DisplayConfigurationManager();

            List<Gadget> gadgets = new List<Gadget>();
            Gadget gadget = new Gadget(1, "gadget1", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(2, "gadget2", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(3, "gadget3", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(4, "gadget4", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(5, "gadget5", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(6, "gadget6", position: 1);
            gadgets.Add(gadget);

            cockpitConfigurationToObtain = new CockpitConfiguration(23, gadgets, displayManager.getDisplayWithId(1));

            //**************************************************************************************

            cockpitConfiguration = EditCockpit.updateGadgetPosition(originColumnId, originRowId, destinationColumnId, destinationRowId);
            TestContext.RequestedPage.Session.Add("currentCockpitConfiguration", cockpitConfiguration);

            compareCockpitConfigurations(cockpitConfigurationToObtain);

            //move gadget 5 on second position first column

            gadgets = new List<Gadget>();
            gadget = new Gadget(1, "gadget1", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(5, "gadget5", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(2, "gadget2", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(3, "gadget3", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(4, "gadget4", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(6, "gadget6", position: 1);
            gadgets.Add(gadget);

            cockpitConfigurationToObtain = new CockpitConfiguration(12, gadgets, displayManager.getDisplayWithId(1));

            cockpitConfiguration = EditCockpit.updateGadgetPosition(2, 2, 1, 1);

            compareCockpitConfigurations(cockpitConfigurationToObtain, isGadgetsPositionTrue: false);

            //***********************************************************************************************

            gadgets = new List<Gadget>();
            gadget = new Gadget(5, "gadget5", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(1, "gadget1", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(2, "gadget2", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(3, "gadget3", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(4, "gadget4", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(6, "gadget6", position: 1);
            gadgets.Add(gadget);

            cockpitConfigurationToObtain = new CockpitConfiguration(11, gadgets, displayManager.getDisplayWithId(1));
            compareCockpitConfigurations(cockpitConfigurationToObtain, isGadgetsPositionTrue: true);
        }
Ejemplo n.º 5
0
        private void createDialog()
        {
            Panel displayChooserContainer = new Panel();
            displayChooserContainer.ID = "columnChooserContainer";
            displayChooserContainer.CssClass = "dialogable";

            displayManager = new DisplayConfigurationManager();
            for(int i=0; i<displayManager.getDisplayConfigurationCollection().Count; i++)
            {
                DisplayConfiguration displayConfiguration = displayManager.getDisplayConfigurationCollection()[i];

                Panel displayPanel = new Panel();
                displayPanel.ID="displayConfig"+i;
                displayPanel.Style.Add("float", "left");
                displayPanel.Style.Add("width", "30%");
                displayPanel.Style.Add("height", "100px");

                Table displayTable = new Table();
                displayTable.Width = Unit.Percentage(100);
                TableRow row = new TableRow();
                row.Width = Unit.Percentage(100);
                row.Height = Unit.Pixel(100);

                //for each column of display configuration
                for(int j=0; j<displayConfiguration.getNbColumns(); j++)
                {
                    TableCell column = new TableCell();
                    column.Width = Unit.Percentage(displayConfiguration.getColumns()[j]);
                    column.BorderColor = System.Drawing.Color.Black;
                    column.BorderWidth = Unit.Pixel(2);

                    column.Controls.Add(new LiteralControl("<br/>"));

                    row.Cells.Add(column);
                }
                displayTable.Rows.Add(row);
                displayPanel.Controls.Add(displayTable);

                Button chooseButton = new Button();
                chooseButton.Text = "Choose";
                chooseButton.CommandArgument = displayConfiguration.getDisplayId().ToString();

                EventHandler buttonHandler = new EventHandler(this.display_Click);
                chooseButton.Click += buttonHandler;

                displayPanel.Controls.Add(chooseButton);

                displayChooserContainer.Controls.Add(displayPanel);
            }

            Master.FindControl("MainContent").Controls.Add(displayChooserContainer);
        }