예제 #1
0
        private void TexteOff()
        {
            _element.Dimensionne(TailleTexte);
            _element.Positionne(
                _element.Dimension("Bouton").X - 35,
                _element.Position("Disque").Y - 2
                );

            _element.AjouterTexte("Label", "Off", _disqueColor, FontStyle.Bold);
        }
예제 #2
0
        public void CreateElement(Dictionary <string, float> incomingData = null)
        {
            if (incomingData == null && _data == null)
            {
                return;                                                   // si aucune donnée ne peut être utilisée
            }
            Clear();

            if (incomingData != null)            // si on ne recycle pas les données existantes mais qu'on en prend des nouvelles
            {
                _data = incomingData;
            }

            int compteur = 0;

            Couple positionSourceLigneVerticale      = new Couple();
            Couple positionDestinationLigneVerticale = new Couple();

            float rapport = (Width - 100) / PlusGrandeValeur() * 0.95f;

            foreach (KeyValuePair <string, float> item in _data)
            {
                // nom
                // hauteur 12.5 * 5 => 62
                _element.Dimensionne(12.5f);
                _element.Positionne(
                    10,
                    compteur * _element.GetDimension.Y * 5
                    );

                _element.AjouterTexte("Label" + item.Key, item.Key, Color.Black);

                // barre
                // hauteur = 62 + 25 = 87
                // hauteur finale = 87 + 20 = 107
                _element.Positionne(
                    100,
                    _element.GetPosition.Y + 25
                    );
                _element.Dimensionne((int)(item.Value * rapport), 20);
                _element.AjouterRectangle("Rectangle" + item.Key, Theme.BackLight);

                // valeur
                _element.Dimensionne(12.5f);
                _element.Positionne(
                    _element.GetPosition.X + 7,
                    _element.GetPosition.Y - 1
                    );

                _element.AjouterTexte("Valeur" + item.Key, ConvertitNombre(item.Value), Color.Black);

                if (compteur == 0) // si premier élément
                {
                    _premiereFigure = _element.GetFigure("Label" + item.Key);

                    positionSourceLigneVerticale = new Couple(
                        _element.GetFigure("Rectangle" + item.Key).Position.X + _element.GetFigure("Rectangle" + item.Key).Dimension.X,
                        _element.GetFigure("Rectangle" + item.Key).Position.Y
                        );
                }

                if (compteur == _data.Count - 1) // si dernier élément
                {
                    _derniereFigure = _element.GetFigure("Label" + item.Key);

                    positionDestinationLigneVerticale = new Couple(
                        positionSourceLigneVerticale.X,
                        _element.GetFigure("Rectangle" + item.Key).Position.Y + _element.GetFigure("Rectangle" + item.Key).Dimension.Y
                        );
                }

                compteur++;
            }

            _element.Positionne(positionSourceLigneVerticale);
            _element.Dimensionne(positionDestinationLigneVerticale);
            _element.AjouterLigne("LigneVerticale", Color.Black, 1);

            pictureBox1.Invalidate();
        }