Ejemplo n.º 1
0
        /** crée le label associée à l'icone (nom de l'icone) **/
        public TextBlock creerLabel(Icone icone)
        {
            // création label : nom de l'icone
            TextBlock labelIcone = new TextBlock();

            labelIcone.SetValue(TextBlock.TextProperty, icone.NomIcone);

            // police du label

            labelIcone.FontFamily = new FontFamily("Segoe UI");
            labelIcone.Foreground = new SolidColorBrush(Colors.Black);
            labelIcone.FontSize   = 24;

            // positionnement du label

            labelIcone.TextAlignment       = TextAlignment.Center;
            labelIcone.VerticalAlignment   = VerticalAlignment.Center;
            labelIcone.HorizontalAlignment = HorizontalAlignment.Center;
            labelIcone.TextWrapping        = TextWrapping.Wrap;


            // labelIcone.SetValue(TextBlock.FontWeightProperty, "Bold");
            //labelIcone.SetValue(TextBlock.ForegroundProperty, "Black");
            labelIcone.SetValue(TextBlock.FontSizeProperty, 24);


            return(labelIcone);
        }
Ejemplo n.º 2
0
        // pageGrille(numPage) retourne un tableau contenant les icones de la page numPage dans l'ordre
        public Icone[] pageGrille()
        {
            Icone[] pageGrille = new Icone[this.nbCasesGrille()];
            for (int i = 0; i < this.nbCasesGrille(); i++)
            {
                pageGrille[i] = Icone.IconeVide();
            }

            //vérification : la page demandée existe-t-elle ?
            if (numGrille < this.nbPagesGrille())
            {
                // index min et max de la page numPage
                int indexMin = numGrille * this.nbCasesGrille();
                int indexMax = indexMin + this.nbCasesGrille() - 1;

                foreach (int key in icones.Keys)
                {
                    if (key >= indexMin && key <= indexMax)
                    {
                        pageGrille[key % nbCasesGrille()] = this.icones[key];
                    }
                }
            }

            return(pageGrille);
        }
Ejemplo n.º 3
0
        //événement qui gère le click sur un bouton
        //affiche l'icone double clickée sur le bouton
        private void choixPositionIcone(object sender, RoutedEventArgs e)
        {
            if (this.choixPosition) // si l'utilisateur est en train d'ajouter une nouvelle icone
            {
                // mémorise le bouton et le nom de fichier de l'image sélectionnée
                this.b = sender as Button;
                //this.nom = image.Name.Replace("é", ".");

                // icone : icone correspondant au bouton cliqué
                this.indexNouvelleIcone = (int)b.Tag;
                Icone icone0 = g.pageGrille()[this.indexNouvelleIcone];


                // Si il y a déjà une icone dans la case :
                if (!(icone0.EstVide()))
                {
                    // Message
                    message.Text          = "Il y a déjà une icône sur cet emplacement. Veuillez choisir un emplacement libre.";
                    messageBox.Visibility = Visibility.Visible;
                }

                // Sinon : click sur icone vide, l'icone peut être ajoutée
                else
                {
                    // affiche la boite de dialogue permettant à l'utilisateur d'entrer le nom de l'icone
                    message.Text        = "Veuillez attribuer un nom à l'icone.";
                    nomIcone.Visibility = Visibility.Visible;
                    Valider.Visibility  = Visibility.Visible;
                }
            }
        }
Ejemplo n.º 4
0
        public static Icone IconeVide()
        {
            Icone icone = new Icone();

            icone.vide = true;
            return(icone);
        }
Ejemplo n.º 5
0
 // Insère l'Icone icone à la case index
 public void addIcone(Icone icone, int index)
 {
     if (this.icones.ContainsKey(index))
     {
         this.icones.Remove(index);
     }
     this.icones.Add(index, icone);
 }
Ejemplo n.º 6
0
 public void CreepageSuivante()
 {
     numGrille++;
     if (this.numGrille == this.nbPagesGrille() - 1)
     {
         int ind = this.numGrille * nbCasesGrille() + 1;
         this.addIcone(Icone.IconeVide(), ind);
     }
 }
Ejemplo n.º 7
0
        // ajout de l'icone (attribut de classe) dans la grille de la page d'accueil
        private void ajouterIcone(String nomIcone)
        {
            Icone iconeAjout = new Icone(nomIcone, this.nom, 64);

            //création de la page associée à l'icone
            MainPage.Configuration.ajouterPiece(iconeAjout, indexNouvelleIcone, this.g.NumGrille);
            //this.choixPosition = false;
            this.Frame.Navigate(typeof(GestionIcones));
        }
Ejemplo n.º 8
0
        private void ajouterEquip(object sender, RoutedEventArgs e)
        {
            int   indexClick = (int)b.Tag;
            Icone icone      = g.pageGrille()[indexClick];

            if (icone.Navigation != null)
            {
                MainPage.Configuration.arbre.PageCourante = icone.Navigation.PageFils;
                this.Frame.Navigate(typeof(GestionIcones2));
            }
        }
Ejemplo n.º 9
0
        /**affichage de l'icone dans la grille grid
         * Icone icone : icone à afficher
         * Button bouton : bouton où l'afficher
         * **/
        public void afficherIcone(Icone icone, Button bouton)
        {
            Image     image      = creerImage(icone, bouton);
            TextBlock labelIcone = creerLabel(icone);

            ajouterImageBouton(bouton, image, labelIcone);

            Brush boutonActif = new SolidColorBrush(theme.Couleur.CouleurBoutonActif);

            bouton.SetValue(Button.BackgroundProperty, boutonActif);
        }
Ejemplo n.º 10
0
        // Attribue le gestionnaire d'évenement IconeClick à tous les boutons de la grille
        private void attribueHandler()
        {
            foreach (Button bouton in this.listeBoutons)
            {
                int   indexClick = (int)bouton.Tag;
                Icone icone      = grille.pageGrille()[indexClick];

                if (!(icone.EstVide()))
                {
                    bouton.Click += IconeClick;
                }
            }
        }
Ejemplo n.º 11
0
        private void attribueHandler()
        {
            foreach (Button bouton in this.listeBoutons)
            {
                int   indexClick = (int)bouton.Tag;
                Icone icone      = g.pageGrille()[indexClick];

                if (!(icone.EstVide()))
                {
                    bouton.Click += Menu;
                }

                bouton.Click += choixPositionIcone;
            }
        }
Ejemplo n.º 12
0
        //
        private void IconeClick(object sender, RoutedEventArgs e)
        {
            Button boutonClick = sender as Button;

            // icone : icone correspondant au bouton cliqué
            int   indexClick = (int)boutonClick.Tag;
            Icone icone      = grille.pageGrille()[indexClick];

            // Si icone de navigation : changement de page
            if (icone.Navigation != null)
            {
                configuration.arbre.PageCourante = icone.Navigation.PageFils;
                this.Frame.Navigate(typeof(MainPage));
            }
            if (icone.Action != null)
            {
            }
        }
Ejemplo n.º 13
0
        /**A partir de l'icone, crée l'image adapté à la taille du Bouton**/
        public Image creerImage(Icone icone, Button bouton)
        {
            // creation de l'image
            Image       image    = new Image();
            BitmapImage SourceBi = new BitmapImage();

            SourceBi.UriSource = icone.Uri;
            image.Source       = SourceBi;

            // empeche l'icone de depasser du contour du bouton

            double hauteur = bouton.Height;
            double largeur = bouton.Width;

            image.SetValue(Image.HeightProperty, 0.5 * hauteur);
            image.SetValue(Image.WidthProperty, 0.5 * hauteur);

            return(image);
        }
Ejemplo n.º 14
0
        private void enleverIcone2(object sender, RoutedEventArgs e)
        {
            if (!choixPosition)
            {
                Options2.Visibility   = Visibility.Collapsed;
                Supprimer2.IsEnabled  = false;
                ChangerNom2.IsEnabled = false;

                // icone : icone correspondant au bouton cliqué
                this.indexNouvelleIcone = (int)b.Tag;
                this.icone = g.pageGrille()[this.indexNouvelleIcone];

                if (!(icone.EstVide()))
                {
                    // retire l'icone de la grille et la remplace par une icone vide
                    g.pageGrille()[this.indexNouvelleIcone] = Icone.IconeVide();
                    MainPage.Configuration.enleverEquip(this.pageCourante, indexNouvelleIcone, this.g.NumGrille);
                    this.Frame.Navigate(typeof(GestionIcones));
                }
            }
        }
Ejemplo n.º 15
0
        private void changerNomIcone2(object sender, RoutedEventArgs e)
        {
            if (!choixPosition)
            {
                Options2.Visibility   = Visibility.Collapsed;
                Supprimer2.IsEnabled  = false;
                ChangerNom2.IsEnabled = false;

                // mémorise l'index de l'icone à créer (ou changer de nom)
                this.indexNouvelleIcone = (int)b.Tag;
                this.icone = g.pageGrille()[this.indexNouvelleIcone];

                if (!this.icone.EstVide()) // click sur icone existante : on peut changer son nom
                {
                    // Message
                    message2.Text        = "Veuillez attribuer un nom à l'icone.";
                    nomIcone2.Visibility = Visibility.Visible;
                    Valider2.Visibility  = Visibility.Visible;
                }
            }
        }
Ejemplo n.º 16
0
        public void ajouterPiece(Icone icone, int index, int numPage)
        {
            // Piece piece = new Piece(icone.NomIcone);

            //Piece piece = new Piece(icone.NomIcone);


            // on associe une nouvelle page à l'icone et on l'ajoute à l'arbre
            Vue pagePiece = new Vue(icone.NomIcone);

            icone.Navigation = new Navigation(pagePiece);
            icone.Action     = (Action)null;


            // arbre.ajouterVue(arbre.Racine, pagePiece);

            //arbre.ajouterVue(arbre.Racine, pagePiece);


            // ajoute une icone (associee à la pièce) à la grille de la page d'accueil + à la liste Configuration.pieces
            ajouterIcone(arbre.Racine, icone, index, numPage);
            //Pieces.Add(piece);
        }
Ejemplo n.º 17
0
        public void ajouterEquipement(Vue pagePiece, Icone icone, int index, int numPage)
        {
            // Equipement equip = new Equipement(icone.nomIcone);
            Vue pageEquip = new Vue(icone.NomIcone);

            // ajoute une page (associée à l'équipement)  à l'arbre
            // Arbre a = Arbre.arbreVue(pagePiece);  // on trouve la pièce dans l'arbre global grâce à la Vue pagePiece de la pièce dans laquelle on souhaite mettre l'équipement


            // ajoute une page (associée à l'équipement)  à l'arbre
            //Arbre a = Arbre.arbreVue(pagePiece);  // on trouve la pièce dans l'arbre global grâce à la Vue pagePiece de la pièce dans laquelle on souhaite mettre l'équipement

            //a.Fils.Add(new Arbre(pageEquip));  // on ajoute l'équipement à la liste des fils de la Vue pagePiece

            arbre.ajouterVue(pagePiece, pageEquip);

            // ajoute une icone (associee à l'equipement) a la grille de la page de la piece + à la liste Configuration.equipements
            pagePiece.ajouterIcone(icone, index, numPage);  // on ajoute l'icone à la grille de la Vue de la pièce
            //Equipements.Add(equipmt);  // on ajoute l'équipement à la liste globale des équipements

            // ajoute l'équipement à la liste des équipements de la pièce associée
            // piece.addDevice(equipmt);
        }
Ejemplo n.º 18
0
 public void ajouterIcone(Icone icone, int index, int numPage)
 {
     this.grille.addIcone(icone, index, numPage);
 }
Ejemplo n.º 19
0
        // Insère l'Icone icone à la case index de la page numPage
        public void addIcone(Icone icone, int index, int numPage)
        {
            int i = nbCasesGrille() * numPage + index;

            this.addIcone(icone, i);
        }
Ejemplo n.º 20
0
 // ajouter une icone à la grille de la page
 public void ajouterIcone(Icone icone, int index)
 {
     this.grille.addIcone(icone, index);
 }
Ejemplo n.º 21
0
        public void ajouterAction(Vue pageEquip, Vue pageAction, Equipement equipmt, Action action, Icone icone, int index)
        {
            // ajoute une icone (associee à l'action) a la grille de la page de l'equipement + + à la liste Configuration.actions
            pageEquip.ajouterIcone(icone, index); // on ajoute l'icone à la grille de la Vue de l'équipement
            Actions.Add(action);                  // on ajoute l'équipement à la liste globale des équipements

            // ajoute l'action à la liste des action de l'équipement associé
            equipmt.addAction(action);
        }
Ejemplo n.º 22
0
 // ajouter une icone à la grille de la page à partir de l'index et le numéro de page de la grille
 public void ajouterIcone(Vue page, Icone icone, int index, int numPage)
 {
     page.ajouterIcone(icone, index, numPage);
 }