Le jeton avance encore!

Voici donc un autre aperçu du principal outil de notre programme. Vous remarquerez peut-être les quelques petits changement qu’il a subit depuis la dernière fois. Les outils seront visibles seulement si l’utilisateur le désir et l’animation est parfaitement fonctionnelle.

Comme vous pouvez le constater, j’ai commencer à y mettre quelques outils, mais si vous avez des proposition, n’hésitez surtout pas à m’en faire part.

Publié dans Interface Personne Machine, Nouvelles | Laisser un commentaire

Une autre petite image du jeton!

Voilà, j’ai continuer à travailler un peu sur le jeton et là je trouve qu’il commence à ressembler beaucoup plus à ce à quoi je m’attendais.

Alors qu’est-ce que vous pensez de ça?

Publié dans Interface Personne Machine, Nouvelles | Laisser un commentaire

Des petits outils de manipulation de primitives

Version simplifiée des outils de dessin. Pour interface graphique voir code derrière l’événement click des boutons.

Le code source, si vous voulez savoir à quoi ressemble un state pattern:
PrimitivesManip

Le namespace n’est pas bon parce que c’est un test. De toute façon l’image devrait vous en convaincre…

Bonne semaine!

Publié dans Primitives | Laisser un commentaire

FlipPanel3d

Petit exemple d’un panneau 3d.

Servira pour la sélection de projet et p-e pour la description de géométrie(à discuter).

FlipPanel3D


namespace WpfApplication1
{
    /// 
    /// Interaction logic for Window1.xaml
    /// 
    public partial class Window1 : Window
    {

        public Window1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            // Le FlipPanel
            ContentControl3D ctrl = new ContentControl3D();

            // On y ajoute une ellipse...pourrait être n'importe quoi...
            Ellipse ell = new Ellipse();
            ell.Width = 100;
            ell.Height = 100;
            SolidColorBrush mySolidColorBrush = new SolidColorBrush();
            mySolidColorBrush.Color = System.Windows.Media.Color.FromRgb(255, 0, 0);
            ell.Fill = mySolidColorBrush;
            ell.Stroke = System.Windows.Media.Brushes.Black;
            ell.StrokeThickness = 2;

            // On ajoute l'ellipse au devant du panneau
            ctrl.Content = ell;

            // Un rectangle:
            System.Windows.Shapes.Rectangle rect = new System.Windows.Shapes.Rectangle();
            rect.Width = 100;
            rect.Height = 100;
            rect.Fill = mySolidColorBrush;
            rect.Stroke = System.Windows.Media.Brushes.Black;
            rect.StrokeThickness = 2;

            // On ajoute le rectangle à l'arrière du panneau:
            ctrl.BackContent = rect;

            // On Choisi la façon dont le panneau tournera:
            ctrl.RotationDirection = RotationDirection.TopLeftToBottomRight;
            ctrl.EasingMode = RotationEasingMode.RoundhouseKick;

            // On ajoute l'événement mousedown poru détecter un click:
            ctrl.MouseDown += new MouseButtonEventHandler(panel_MouseDown);

            // On l'ajoute à ûn élément quelconque, ici un dockpanel:
            this.dockPanel1.Children.Add(ctrl);
        }

        // L'évenement click
        private void panel_MouseDown(object sender, RoutedEventArgs e)
        {
            // Le sender est le flippanel
            ContentControl3D ctrl = ((ContentControl3D)sender);
            // SI on voit le devant
            if (ctrl.IsFrontInView)
            {
                // Tourner le paneau d'avant vers arrière
                ctrl.BringBackSideIntoView();
            }
            else // Sinon
            {
                // Tourner d'arrière vers avant:
                ctrl.BringFrontSideIntoView();
            }
        }


    }
}

Publié dans Interface Personne Machine | Laisser un commentaire