// Creates a shadow from a shape. Should only be called from PathMaker // event handlers when things are loaded, added, etc. public static Shadow MakeShapeShadow(Shape shape) { ShapeTypes shapeType = Common.GetShapeType(shape); Shadow shadow = null; switch (shapeType) { case ShapeTypes.CallSubDialog: shadow = new CallSubDialogShadow(shape); break; case ShapeTypes.ChangeLog: shadow = new ChangeLogShadow(shape); break; case ShapeTypes.AppDesc: shadow = new AppDescShadow(shape); break; case ShapeTypes.PrefixList: shadow = new PrefixListShadow(shape); break; case ShapeTypes.Comment: shadow = new IgnoredShadow(shape); break; case ShapeTypes.Connector: shadow = new ConnectorShadow(shape); break; case ShapeTypes.Data: shadow = new DataShadow(shape); break; case ShapeTypes.Decision: shadow = new DecisionShadow(shape); break; case ShapeTypes.DocTitle: shadow = new DocTitleShadow(shape); break; case ShapeTypes.HangUp: shadow = new HangUpShadow(shape); break; case ShapeTypes.Interaction: shadow = new InteractionShadow(shape); break; case ShapeTypes.None: break; case ShapeTypes.OffPageRef: shadow = new OffPageRefShadow(shape); break; case ShapeTypes.OnPageRefIn: shadow = new OnPageRefInShadow(shape); break; case ShapeTypes.OnPageRefOut: shadow = new OnPageRefOutShadow(shape); break; case ShapeTypes.Page: break; case ShapeTypes.Placeholder: shadow = new IgnoredShadow(shape); break; case ShapeTypes.Play: shadow = new PlayShadow(shape); break; case ShapeTypes.Return: shadow = new ReturnShadow(shape); break; case ShapeTypes.Start: shadow = new StartShadow(shape); break; case ShapeTypes.SubDialog: shadow = new SubDialogShadow(shape); break; case ShapeTypes.Transfer: shadow = new TransferShadow(shape); break; } return shadow; }
private static void AddInteractionTable(Document doc, InteractionShadow interactionShadow) { Selection content = doc.Application.Selection; if (addMSWordMapMarkers) { content.Font.Name = "Arial"; content.Font.Size = 2; content.Font.Color = WdColor.wdColorWhite;//change this to white late to make it more hidden content.TypeText(interactionShadow.GetStateId()); content.set_Style(WdBuiltinStyle.wdStyleHeading3); content.TypeParagraph(); content = doc.Application.Selection;//re-read all current content } doc.Tables[Templates.Interaction].Range.Copy(); content.Bookmarks.Add("bm" + Left(AlphaNumericCharsOnly(interactionShadow.GetStateId()), 38)); content.Move(WdUnits.wdStory); content.Paste(); Microsoft.Office.Interop.Word.Table wordTable = doc.Tables[doc.Tables.Count]; wordTable.Range.ParagraphFormat.KeepWithNext = -1; wordTable.Cell(1, 1).Range.InsertAfter(interactionShadow.GetStateId()); wordTable.Cell(1, 2).Range.InsertAfter("Interaction"); FillEnteringFrom(wordTable.Cell(3, 1), interactionShadow); Cell cell = wordTable.Cell(17, 1); Table table = interactionShadow.GetDeveloperNotes(); if (!table.IsEmpty()) { string notes = table.GetData(0, (int)TableColumns.DeveloperNotes.Text); string notesDate = table.GetData(0, (int)TableColumns.DeveloperNotes.TextDateStamp); cell.Range.InsertAfter(notes); SetCellBackgroundColorIfNecessary(cell, notesDate); } cell = wordTable.Cell(15, 1); table = interactionShadow.GetSpecialSettings(); if (!table.IsEmpty()) { string settings = table.GetData(0, (int)TableColumns.SpecialSettings.Text); string settingsDate = table.GetData(0, (int)TableColumns.SpecialSettings.TextDateStamp); cell.Range.InsertAfter(settings); SetCellBackgroundColorIfNecessary(cell, settingsDate); } table = interactionShadow.GetMaxHandling(); bool hasOverride = false; for (int r = 0; r < table.GetNumRows() && hasOverride == false; r++) for (int c = 1; c < table.GetNumColumns() && hasOverride == false; c++) if (table.GetData(r, c).Length > 0) hasOverride = true; if (hasOverride) FillMaxHandling(wordTable, 13, table); else { wordTable.Range.Rows[12].Delete(); wordTable.Range.Rows[12].Delete(); } table = interactionShadow.GetConfirmationPrompts(); FillConfirmationPromptTable(wordTable, 11, table); table = interactionShadow.GetCommandTransitions(); FillCommandTransitionTable(wordTable, 8, table); table = interactionShadow.GetPromptTypes(); FillPromptTypesTable(wordTable, 6, table); //SetCellBackgroundColorIfNecessary(wordTable.Cell(1, 1), interactionShadow.GetLastChangeDate()); SetCellBackgroundColorIfNecessary(wordTable.Cell(1, 1), interactionShadow.GetLastChangeVersion());//JDK content.Move(WdUnits.wdStory); content.set_Style("Normal"); content.TypeParagraph(); content.Move(WdUnits.wdStory); }
public DialogResult ShowDialog(InteractionShadow shadow) { this.shadow = shadow; return ShowDialog(); }
private static void AddInteractionElement(XmlDocument xmlDoc, InteractionShadow shadow) { XmlElement stateElement = CreateElement(xmlDoc.DocumentElement, xmlStrings.Interaction); stateElement.SetAttribute(xmlStrings.StateId, shadow.GetStateId()); AddEnteringFrom(shadow, stateElement); AddPromptTypes(shadow.GetPromptTypes(), stateElement); AddCommandTransitions(shadow, shadow.GetCommandTransitions(), stateElement); AddConfirmationList(shadow.GetConfirmationPrompts(), stateElement); AddMaxHandling(shadow, shadow.GetMaxHandling(), stateElement); AddSpecialSettings(shadow.GetSpecialSettings(), stateElement); AddDeveloperNotes(shadow.GetDeveloperNotes(), stateElement); }