コード例 #1
0
ファイル: CardCanvas.xaml.cs プロジェクト: jimva3hj/hamqsler
 public void AddCard(Card card)
 {
     QslCard = card;
     double left = (this.Width - card.DisplayWidth) / 2;
     double top = (this.Height - card.DisplayHeight) / 2;
     cardView = new CardView(QslCard);
     Canvas.SetLeft(cardView, left);
     Canvas.SetTop(cardView, top);
     this.Children.Add(cardView);
 }
コード例 #2
0
ファイル: Card.cs プロジェクト: jimva3hj/hamqsler
 /// <summary>
 /// Create a deep clone of this card
 /// </summary>
 /// <returns>Card that is a deep clone of this one</returns>
 public Card Clone()
 {
     Card card = new Card();
     card.BackImage = new BackgroundImage();
     card.CopyCardProperties(this);
     card.BackImage = new BackgroundImage();
     card.BackImage.CopyImageProperties(card, BackImage);
     foreach(SecondaryImage si in SecondaryImages)
     {
         SecondaryImage si2 = new SecondaryImage();
         si2.CopyImageProperties(card, si);
         card.SecondaryImages.Add(si2);
     }
     foreach(TextItem ti in TextItems)
     {
         TextItem ti2 = new TextItem();
         ti2.CopyTextItem(card, ti);
         card.TextItems.Add(ti2);
     }
     if(QsosBox != null)
     {
         card.QsosBox = new QsosBox();
         card.QsosBox.CopyQsosBoxProperties(card, QsosBox);
     }
     return card;
 }
コード例 #3
0
ファイル: Card.cs プロジェクト: jimva3hj/hamqsler
 /// <summary>
 /// Helper method that copies card specific properties
 /// </summary>
 /// <param name="card">card whose properties are to be copied</param>
 private void CopyCardProperties(Card card)
 {
     CopyBaseProperties(this, card);
 }
コード例 #4
0
ファイル: Card.cs プロジェクト: jimva3hj/hamqsler
 /// <summary>
 /// Deserialize a QslDnP card save as XML
 /// </summary>
 /// <param name="fileName">Name of the QslDnP card file</param>
 /// <returns>Card object described by the XML file</returns>
 public static Card DeserializeQslDnPCard(string fileName)
 {
     XmlDocument doc = new XmlDocument();
     Stream fStream = new FileStream(fileName, FileMode.Open);
     doc.Load(fStream);
     XmlNode node = doc.DocumentElement;
     Card card = new Card();
     switch(node.Name)
     {
         case "LandscapeCard55x425":
         case "LandscapeCard6x4":
         case "LandscapeCard15x10":
         case "LandscapeCard55x35":
             CultureInfo cardCulture = CultureInfo.InvariantCulture;
             XmlAttributeCollection attrCollection = node.Attributes;
             XmlAttribute culture = attrCollection["Culture"];
             if(culture != null)
             {
                 cardCulture = new CultureInfo(culture.Value, false);
             }
             XmlNode cNode = XmlProcs.GetFirstChildElement(node);
             // make sure the node is a Card node, then process it
             if(cNode != null && cNode.Name.Equals("Card"))
             {
                 card.LoadCard(cNode, cardCulture);
             }
             else
             {
                 throw new XmlException("Invalid Card file. Node is not a Card node");
             }
             break;
         default:
             throw new XmlException("Invalid QslDnP card file");
     }
     return card;
 }