/// <summary> /// Reads the object's properties from the buffer /// </summary> /// <param name="buffer">DVBuffer where the properties are read</param> public void ReadProperties(DVBuffer buffer) { ProprietesWpf property; buffer.Get(out property); while (property != ProprietesWpf.ONGLET_FIN) { switch (property) { case ProprietesWpf.PRESENTATION_DEBUT: // Début présentation if (Presentation == null) Presentation = new XHtmlPresentation(this); Presentation.ReadProperties(buffer); // Presentation.SetProperties(); // pas de présentation pour les onglets (ignoré) break; case ProprietesWpf.CODE_PAGE: // Code page buffer.Get(out codePage); break; case ProprietesWpf.ONGLET_LIBELLE: // Libellé (string) string text; buffer.GetStringCP(out text, codePage); Header = text; break; case ProprietesWpf.ONGLET_IMAGE_DEBUT: // Libellé (string) imageFile = new XHtmlImageFile(); imageFile.ReadProperties(buffer); // Image = XHtmlImage.GetImage(imageFile); // voir si c utile !!!!!!!!!!!!!!!!! if (this.Page.Html.App.ImagesCss.FirstOrDefault(e => e.FileName == imageFile.FileName) == null) { imageFile.Css = imageFile.GenererCss(); this.Page.Html.App.ImagesCss.Add(imageFile); } break; case ProprietesWpf.ONGLET_NUMERO_PAGE: // Numéro de la page liée à l'onglet (byte) byte pageNumber; buffer.Get(out pageNumber); PageNumber = pageNumber; break; case ProprietesWpf.CODE_PAGE_BULLE: // Code page bulle buffer.Get(out codePageBulle); break; case ProprietesWpf.ONGLET_BULLE: // Texte de la bulle (string) string toolTip; buffer.GetStringCP(out toolTip, codePageBulle); ToolTip = string.IsNullOrEmpty(toolTip) ? null : toolTip.Replace("|", "\n"); // "|" = multi-ligne break; case ProprietesWpf.ONGLET_COULEUR_FOND: // Couleur du Fond (ushort) ushort id; buffer.Get(out id); // Brush background = Application.Current.Resources["Brush-" + id] as Brush; IdFond = id; // if (background != null) ContentBorder.Background = background; // else ContentBorder.ClearValue(Border.BackgroundProperty); break; case ProprietesWpf.ONGLET_VISIBILITE: // visibilité byte visibiliteValue; buffer.Get(out visibiliteValue); Visibilite = visibiliteValue; //Visibilites visibilite = (Visibilites)visibiliteValue; //switch (visibilite) // 0 = visible, 1 = grisé, 2 = illisible, 3 = caché //{ // case Visibilites.Visible: // IsEnabled = true; // Visibility = Visibility.Visible; // break; // case Visibilites.Grise: // IsEnabled = false; // Visibility = Visibility.Visible; // break; // case Visibilites.Cache: // IsEnabled = false; // Visibility = Visibility.Collapsed; // break; //} break; default: throw new XHtmlException(XHtmlErrorCodes.UnknownProperty, XHtmlErrorLocations.TabItem, property.ToString()); } buffer.Get(out property); } }
/// <summary> /// Reads the object's properties from the buffer /// </summary> /// <param name="buffer">DVBuffer where the properties are read</param> public void ReadProperties(DVBuffer buffer) { ProprietesWpf property; buffer.Get(out property); while (property != ProprietesWpf.BOUTON_FIN) { switch (property) { case ProprietesWpf.PRESENTATION_DEBUT: // Début présentation if (Presentation == null) Presentation = new XHtmlPresentation(this); Presentation.ReadProperties(buffer); Presentation.SetProperties(); break; case ProprietesWpf.CODE_PAGE: // Code page buffer.Get(out codePage); break; case ProprietesWpf.PARAM_SAISIE_SEQUENCE: // Point de séquence (ushort) ushort pointSequence; buffer.Get(out pointSequence); SeqPoint = pointSequence; break; case ProprietesWpf.OBJET_RACCOURCI: // touche de raccourcis (byte) byte shortcut; buffer.Get(out shortcut); Shortcut = (char)shortcut; break; case ProprietesWpf.BOUTONS_VALIDES_DEBUT: // Boutons valides dans la page en cours ListOfValidButtons = new Collection<string>(); buffer.Get(out property); while (property != ProprietesWpf.BOUTONS_VALIDES_FIN) { string buttonName; buffer.GetString(out buttonName); ListOfValidButtons.Add(buttonName); buffer.Get(out property); } break; case ProprietesWpf.BOUTON_LIBELLE: // Libellé du bouton (string) buffer.GetStringCP(out text, codePage); Content = text; break; case ProprietesWpf.BOUTON_IMAGE_DEBUT: // Image du bouton imageDuBouton = new XHtmlImageFile(); imageDuBouton.ReadProperties(buffer); if (this.Page.Html.App.ImagesCss.FirstOrDefault(e => e.FileName == imageDuBouton.FileName) == null) { imageDuBouton.Css = imageDuBouton.GenererCss(); this.Page.Html.App.ImagesCss.Add(imageDuBouton); } //Content = image = new XHtmlImage(Page) //{ // Source = XHtmlImage.GetImage(imageFile), // HorizontalAlignment = HorizontalAlignment.Center, // VerticalAlignment = VerticalAlignment.Center, // Stretch = Stretch.Uniform, // StretchDirection = StretchDirection.DownOnly //}; break; case ProprietesWpf.BOUTON_NOM_SELECTION: // Nom de la sélection (string) buffer.GetString(out Selection); break; case ProprietesWpf.BOUTON_LOCAL: // Uniquement si le bouton est local à la page IsLocal = true; break; case ProprietesWpf.BOUTON_ACTION: // Type d'action (byte = 1, 2 ou 3) buffer.Get(out action); switch (action) { case 1: buffer.Get(out pointTraitement); break; // Type = 1 : point de traitement case 2: buffer.Get(out pointArret); break; // Type = 2 : point d'arrêt case 3: buffer.GetString(out generatedString); break; // Type = 3 : chaîne à générer } break; case ProprietesWpf.BOUTON_IMAGES_ET_TITRE: var backgroundImageFile = new XHtmlImageFile(); // Image fond backgroundImageFile.ReadProperties(buffer); //BackgroundImage = XHtmlImage.GetImage(backgroundImageFile); var backgroundClickedImageFile = new XHtmlImageFile(); // Image fond au clic backgroundClickedImageFile.ReadProperties(buffer); //BackgroundClickedImage = XHtmlImage.GetImage(backgroundClickedImageFile); buffer.GetString(out text); // Libellé (string) Content = text; ushort leftMargin, topMargin, rightMargin, bottomMargin; // Marges (ushort x 4) buffer.Get(out leftMargin); buffer.Get(out topMargin); buffer.Get(out rightMargin); buffer.Get(out bottomMargin); //!!!!!!!!!!!! Padding = new Thickness(leftMargin, topMargin, rightMargin, bottomMargin); break; #region image survol case ProprietesWpf.BOUTON_IMAGE_SURVOL_DEBUT: // Image au survol du bouton (string) var mouseOverImageFile = new XHtmlImageFile(); mouseOverImageFile.ReadProperties(buffer); //imageMouseOver = (string.IsNullOrEmpty(mouseOverImageFile.FileName)) ? null : new Image //{ // Source = XHtmlImage.GetImage(mouseOverImageFile), // HorizontalAlignment = HorizontalAlignment.Center, // VerticalAlignment = VerticalAlignment.Center, // Stretch = Stretch.Uniform, // StretchDirection = StretchDirection.DownOnly //}; break; #endregion image survol #region curseur survol case ProprietesWpf.BOUTON_CURSEUR_SURVOL: // Curseur au survol (string) buffer.GetString(out mouseOverCursorFile); //cursorMouseOver = GetCursor(mouseOverCursorFile); break; #endregion curseur survol #region son survol case ProprietesWpf.BOUTON_SON_SURVOL: // Son au survol (string) buffer.GetString(out mouseOverSoundFile); //player = new MediaPlayer(); //soundMouseOver = GetSound(mouseOverSoundFile); break; #endregion son survol #region son au clic case ProprietesWpf.BOUTON_SON_CLIC: // Son au clic (string) buffer.GetString(out clickSoundFile); //player = new MediaPlayer(); //soundClick = GetSound(clickSoundFile); break; #endregion son au clic default: throw new XHtmlException(XHtmlErrorCodes.UnknownProperty, XHtmlErrorLocations.Button, property.ToString()); } buffer.Get(out property); } }