public DialogPreview(TabInfo sourceTab) { InitializeComponent(); this.Text += sourceTab.filename; this.sourceTab = sourceTab; NodesComboBox.Items.AddRange(DialogueParser.GetAllNodesName(scrProc).ToArray()); Procedure curProc = sourceTab.parseInfo.GetProcedureFromPosition(sourceTab.textEditor.ActiveTextAreaControl.Caret.Line); if (curProc == null || !NodesComboBox.Items.Contains(curProc.name)) { int indx = sourceTab.parseInfo.GetProcedureIndex("talk_p_proc"); if (indx == -1) { return; } curProc = scrProc[indx]; } MessagesData = File.ReadAllLines(sourceTab.msgFilePath, Settings.EncCodePage); if (sourceTab.messages.Count == 0) { MessageFile.ParseMessages(sourceTab, MessagesData); } NodesComboBox.Text = curProc.name; nodesNavigation.Add(curProc.name); GotoNode(curProc); }
private void DialogPreview_Activated(object sender, EventArgs e) { if (!needUpdate) { return; } List <string> nodes = DialogueParser.GetAllNodesName(scrProc); if (NodesComboBox.Items.Count != nodes.Count) { var sItem = NodesComboBox.SelectedItem; allow = false; NodesComboBox.Items.Clear(); NodesComboBox.Items.AddRange(nodes.ToArray()); if (sItem == null) { return; } foreach (var item in NodesComboBox.Items) { if (item.ToString() == sItem.ToString()) { NodesComboBox.SelectedItem = item; break; } } } needUpdate = false; }
public FlowchartTE(Procedure cProc, TabInfo ti, List <string> allNodes = null, bool fromDiagram = false) { InitializeComponent(); this.sourceTab = ti; OpenFromDiagram = fromDiagram; //Create the text editor TextEditorControl te = new TextEditorControl(); //te.TextEditorProperties.NativeDrawText = Settings.winAPITextRender; te.TextEditorProperties.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; Settings.SetTextAreaFont(te); //te.AllowCaretBeyondEOL = true; te.EnableFolding = false; te.BorderStyle = BorderStyle.FixedSingle; te.LineViewerStyle = LineViewerStyle.FullRow; te.ShowVRuler = false; te.TextEditorProperties.IndentStyle = IndentStyle.Smart; te.TextEditorProperties.ConvertTabsToSpaces = Settings.tabsToSpaces; te.TextEditorProperties.TabIndent = Settings.tabSize; te.TextEditorProperties.IndentationSize = Settings.tabSize; // Activate the highlighting, use the name from the SyntaxDefinition node. te.TextEditorProperties.DarkScheme = ColorTheme.IsDarkTheme; te.SetHighlighting(ColorTheme.HighlightingScheme); te.OptionsChanged(); te.Text = GetProcedureCode(ti.textEditor.Document, cProc); textEditor = te; // events te.TextChanged += CodeChangedTimer; te.ActiveTextAreaControl.TextArea.ToolTipRequest += TextArea_ToolTipRequest; te.ActiveTextAreaControl.TextArea.PreviewKeyDown += delegate(object sender, PreviewKeyDownEventArgs e) { if (e.KeyCode == Keys.Tab) { if (Utilities.AutoCompleteKeyWord(textEditor.ActiveTextAreaControl)) { e.IsInputKey = true; } } }; te.ActiveTextAreaControl.Caret.PositionChanged += delegate(object sender, EventArgs e) { Utilities.SelectedTextColorRegion(new TextLocation(), textEditor.ActiveTextAreaControl); }; //te.ActiveTextAreaControl.TextArea.MouseDown += delegate(object sender, MouseEventArgs e) { // if (e.Button == MouseButtons.Left) // Utilities.SelectedTextColorRegion(textEditor.ActiveTextAreaControl); //}; splitContainer.Panel1.Controls.Add(te); cForm = new Form(); cForm.ClientSize = this.Size; cForm.Controls.Add(this); cForm.FormBorderStyle = FormBorderStyle.Sizable; cForm.StartPosition = FormStartPosition.CenterScreen; cForm.Icon = Properties.Resources.CodeText; NodeName = cProc.name; cForm.FormClosing += cForm_FormClosing; te.Dock = DockStyle.Fill; this.Dock = DockStyle.Fill; timer.Tick += CodeChanged; if (allNodes == null) { allNodes = DialogueParser.GetAllNodesName(PI.procs); } cmbNodesName.Items.AddRange(allNodes.ToArray()); cmbNodesName.SelectedIndex = 0; LoadCustomCode(); ParseCode(); dgvMessages.ClearSelection(); }