// Copyright (c) Ivan Bondarev, Stanislav Mihalkovich (for details please see \doc\copyright.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; using System.Drawing; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.IO; using System.Windows; using Irony.Parsing; using Irony.Samples.CSharp; using System.Linq; using System.Reflection; using NodeGenerator; namespace NodesGenerator { enum CloseResult { Saved, NotSaved, NotClosed }; /// /// Summary description for Form1. /// public class Form1 : System.Windows.Forms.Form { //consts private const int max_str_len = 80; //C# parser-related CSharpGrammar _grammar; LanguageData _language; Parser _parser; private readonly string parser_tech_data = "namespace NS1 { class MyClass {\n"; HashSet parser_errors_ignore_states = new HashSet(new string[] {"S109", "S315"}); //routines private string default_caption; private node_info selected_node = null; private node_info new_selected_node = null; //this is needed, 'cause SelectedIndexChanged of ListBox is dirty-programmed in C# private int selected_node_index = -1; private bool creation_mode = false; private bool nodes_list_SelectedIndexChanged_recur = false; private bool is_filter_enabled = false; //Hierarchy Browser private Point hb_location = new Point(-1, -1); //Options private bool auto_save = true; private string version_storage = "Storage"; private List autocompletion_list = new List(); //tags private List> temp_tags = new List>(); private int selected_tag_cat = -1; private bool update_tags = false; //filters private List> current_filter; private int selected_filter_cat = -1; private const int filter_panel_height = 92; //visuals private System.Windows.Forms.OpenFileDialog openFileDialog1; private System.Windows.Forms.SaveFileDialog saveFileDialog1; private ToolStripStatusLabel toolStripStatusLabel1; private StatusStrip NavigationPanel; private ToolStripDropDownButton toolStripDropDownButton1; private ToolStrip mainToolStrip; private ToolStripButton toolStripOpenButton; private ToolStripButton toolStripSaveButton; private ToolStripButton toolStripSaveAsButton; private ToolStripSeparator toolStripSeparator1; private ToolStripButton toolStripGenerateButton; private ToolStripButton toolStripOptionsButton; private ToolStripSeparator toolStripSeparator2; private GroupBox groupBox1; internal ListBox nodes_list; private GroupBox groupBox2; private ToolStrip nodesToolStrip; private ToolStripButton toolStripButtonAddNode; private ToolStripButton toolStripButtonDeleteNode; private ToolStripSeparator toolStripSeparator3; private ToolStripButton toolStripButtonMoveUp; private ToolStripButton toolStripButtonMoveDown; private ToolStripSeparator toolStripSeparator4; private ToolStripSeparator toolStripSeparator5; private ToolStripButton toolStripButtonSort; private Panel panel2; private TextBox help_context; private Label label3; private Panel panel1; private ComboBox base_class; private Label label2; private Label label1; private TextBox node_name; private Panel panel3; private ScintillaNET.Scintilla scintilla1; private ToolStrip edtiorToolStrip; private ToolStripButton toolStripButtonCut; private ToolStripButton toolStripButtonCopy; private ToolStripButton toolStripButtonPaste; private ToolStripSeparator toolStripSeparator6; private ToolStripButton toolStripButtonUndo; private ToolStripButton toolStripButtonRedo; private Panel panel4; private Label label4; private TextBox tagItems; private ListBox tagCategories; private Button reloadButton; private Panel panel5; private Panel panel6; private Button resetFilterButton; private Panel panelFilterButtons; private ListView filterItems; private ListBox filterCategories; private Splitter splitter1; private Splitter splitter2; private Button saveNodeButton; private ToolStripButton toolStripButtonNew; private ContextMenuStrip nodesContextMenu; private ToolStripMenuItem addToolStripMenuItem; private ToolStripSeparator toolStripMenuItem6; private ToolStripMenuItem moveUpToolStripMenuItem; private ToolStripMenuItem moveDownToolStripMenuItem; private ToolStripSeparator toolStripMenuItem7; private ToolStripMenuItem deleteToolStripMenuItem; private ToolStripMenuItem fileToolStripMenuItem; private ToolStripMenuItem newToolStripMenuItem; private ToolStripMenuItem openToolStripMenuItem; private ToolStripMenuItem saveToolStripMenuItem; private ToolStripMenuItem saveAsToolStripMenuItem; private ToolStripSeparator toolStripMenuItem1; private ToolStripMenuItem quitToolStripMenuItem; private ToolStripMenuItem nodesToolStripMenuItem; private ToolStripMenuItem addNodeToolStripMenuItem; private ToolStripSeparator toolStripMenuItem2; private ToolStripMenuItem moveNodeUpToolStripMenuItem; private ToolStripMenuItem moveNodeDownToolStripMenuItem; private ToolStripSeparator toolStripMenuItem3; private ToolStripMenuItem deleteNodeToolStripMenuItem; private ToolStripSeparator toolStripMenuItem4; private ToolStripMenuItem sortToolStripMenuItem; private ToolStripMenuItem contentsToolStripMenuItem; private ToolStripMenuItem cutToolStripMenuItem; private ToolStripMenuItem copyToolStripMenuItem; private ToolStripMenuItem pasteToolStripMenuItem; private ToolStripSeparator toolStripMenuItem5; private ToolStripMenuItem undoToolStripMenuItem; private ToolStripMenuItem redoToolStripMenuItem; private ToolStripMenuItem viewToolStripMenuItem; private ToolStripMenuItem filterPanelToolStripMenuItem; private ToolStripMenuItem optionsToolStripMenuItem; private ToolStripMenuItem optionsToolStripMenuItem1; private ToolStripMenuItem tagsCollectionToolStripMenuItem; private ToolStripMenuItem runToolStripMenuItem; private ToolStripMenuItem generateToolStripMenuItem; private MenuStrip mainMenu; private ToolStripMenuItem globalRenamerToolStripMenuItem; private ToolStripButton toolStripButtonSaveStore; private ToolStripMenuItem saveAndStoreToolStripMenuItem; private ToolStripMenuItem helpToolStripMenuItem; private ToolStripMenuItem aboutToolStripMenuItem; private ToolStripStatusLabel toolStripStatusLabel2; private ContextMenuStrip filtersPanelContextMenu; private ToolStripMenuItem editInTagsCollectionToolStripMenuItem; private ToolStripMenuItem grammarBrowserToolStripMenuItem; private Label tags; private ToolStripSeparator toolStripSeparator7; private ToolStripButton toolStripButtonTagSelected; private Button filterSelected; private ToolStripMenuItem присвоитьТегToolStripMenuItem; private Splitter splitter3; private Button filterAncestors; private IContainer components; public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); this.NavigationPanel = new System.Windows.Forms.StatusStrip(); this.toolStripDropDownButton1 = new System.Windows.Forms.ToolStripDropDownButton(); this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel(); this.mainToolStrip = new System.Windows.Forms.ToolStrip(); this.toolStripButtonNew = new System.Windows.Forms.ToolStripButton(); this.toolStripOpenButton = new System.Windows.Forms.ToolStripButton(); this.toolStripSaveButton = new System.Windows.Forms.ToolStripButton(); this.toolStripSaveAsButton = new System.Windows.Forms.ToolStripButton(); this.toolStripButtonSaveStore = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripOptionsButton = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripGenerateButton = new System.Windows.Forms.ToolStripButton(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.nodes_list = new System.Windows.Forms.ListBox(); this.nodesContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem6 = new System.Windows.Forms.ToolStripSeparator(); this.moveUpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.moveDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem7 = new System.Windows.Forms.ToolStripSeparator(); this.deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.nodesToolStrip = new System.Windows.Forms.ToolStrip(); this.toolStripButtonAddNode = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripButtonMoveUp = new System.Windows.Forms.ToolStripButton(); this.toolStripButtonMoveDown = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripButtonDeleteNode = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripButtonSort = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripButtonTagSelected = new System.Windows.Forms.ToolStripButton(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.panel3 = new System.Windows.Forms.Panel(); this.scintilla1 = new ScintillaNET.Scintilla(); this.edtiorToolStrip = new System.Windows.Forms.ToolStrip(); this.toolStripButtonCut = new System.Windows.Forms.ToolStripButton(); this.toolStripButtonCopy = new System.Windows.Forms.ToolStripButton(); this.toolStripButtonPaste = new System.Windows.Forms.ToolStripButton(); this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripButtonUndo = new System.Windows.Forms.ToolStripButton(); this.toolStripButtonRedo = new System.Windows.Forms.ToolStripButton(); this.splitter2 = new System.Windows.Forms.Splitter(); this.panel2 = new System.Windows.Forms.Panel(); this.help_context = new System.Windows.Forms.TextBox(); this.label3 = new System.Windows.Forms.Label(); this.splitter1 = new System.Windows.Forms.Splitter(); this.panel4 = new System.Windows.Forms.Panel(); this.tags = new System.Windows.Forms.Label(); this.tagItems = new System.Windows.Forms.TextBox(); this.tagCategories = new System.Windows.Forms.ListBox(); this.label4 = new System.Windows.Forms.Label(); this.panel1 = new System.Windows.Forms.Panel(); this.saveNodeButton = new System.Windows.Forms.Button(); this.reloadButton = new System.Windows.Forms.Button(); this.base_class = new System.Windows.Forms.ComboBox(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.node_name = new System.Windows.Forms.TextBox(); this.panel5 = new System.Windows.Forms.Panel(); this.panel6 = new System.Windows.Forms.Panel(); this.filterItems = new System.Windows.Forms.ListView(); this.filtersPanelContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); this.editInTagsCollectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.filterCategories = new System.Windows.Forms.ListBox(); this.panelFilterButtons = new System.Windows.Forms.Panel(); this.filterSelected = new System.Windows.Forms.Button(); this.filterAncestors = new System.Windows.Forms.Button(); this.resetFilterButton = new System.Windows.Forms.Button(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveAndStoreToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator(); this.quitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.nodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.addNodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator(); this.moveNodeUpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.moveNodeDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator(); this.deleteNodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripSeparator(); this.sortToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.присвоитьТегToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.globalRenamerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.contentsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.cutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.pasteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator(); this.undoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.redoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.filterPanelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.optionsToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.tagsCollectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.runToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.generateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.grammarBrowserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.mainMenu = new System.Windows.Forms.MenuStrip(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.splitter3 = new System.Windows.Forms.Splitter(); this.NavigationPanel.SuspendLayout(); this.mainToolStrip.SuspendLayout(); this.groupBox1.SuspendLayout(); this.nodesContextMenu.SuspendLayout(); this.nodesToolStrip.SuspendLayout(); this.groupBox2.SuspendLayout(); this.panel3.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.scintilla1)).BeginInit(); this.edtiorToolStrip.SuspendLayout(); this.panel2.SuspendLayout(); this.panel4.SuspendLayout(); this.panel1.SuspendLayout(); this.panel5.SuspendLayout(); this.panel6.SuspendLayout(); this.filtersPanelContextMenu.SuspendLayout(); this.panelFilterButtons.SuspendLayout(); this.mainMenu.SuspendLayout(); this.SuspendLayout(); // // openFileDialog1 // this.openFileDialog1.DefaultExt = "nin"; this.openFileDialog1.Filter = "Файлы синтаксического дерева (*.nin, *.xml)|*.nin;*.xml|Все файлы (*.*)|*.*"; // // saveFileDialog1 // this.saveFileDialog1.DefaultExt = "nin"; this.saveFileDialog1.Filter = "Файлы синтаксического дерева (*.nin, *.xml)|*.nin;*.xml|Все файлы (*.*)|*.*"; // // toolStripStatusLabel1 // this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; this.toolStripStatusLabel1.Size = new System.Drawing.Size(0, 17); // // NavigationPanel // this.NavigationPanel.Font = new System.Drawing.Font("Tahoma", 9F); this.NavigationPanel.ImageScalingSize = new System.Drawing.Size(20, 20); this.NavigationPanel.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripDropDownButton1, this.toolStripStatusLabel2}); this.NavigationPanel.Location = new System.Drawing.Point(0, 696); this.NavigationPanel.Name = "NavigationPanel"; this.NavigationPanel.Size = new System.Drawing.Size(1088, 28); this.NavigationPanel.SizingGrip = false; this.NavigationPanel.TabIndex = 18; this.NavigationPanel.Resize += new System.EventHandler(this.NavigationPanel_Resize); // // toolStripDropDownButton1 // this.toolStripDropDownButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripDropDownButton1.Font = new System.Drawing.Font("Tahoma", 9F); this.toolStripDropDownButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripDropDownButton1.Image"))); this.toolStripDropDownButton1.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripDropDownButton1.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.toolStripDropDownButton1.Name = "toolStripDropDownButton1"; this.toolStripDropDownButton1.Size = new System.Drawing.Size(34, 24); this.toolStripDropDownButton1.Text = "toolStripDropDownButton1"; // // toolStripStatusLabel2 // this.toolStripStatusLabel2.Name = "toolStripStatusLabel2"; this.toolStripStatusLabel2.Size = new System.Drawing.Size(0, 23); // // mainToolStrip // this.mainToolStrip.ImageScalingSize = new System.Drawing.Size(20, 20); this.mainToolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripButtonNew, this.toolStripOpenButton, this.toolStripSaveButton, this.toolStripSaveAsButton, this.toolStripButtonSaveStore, this.toolStripSeparator1, this.toolStripOptionsButton, this.toolStripSeparator2, this.toolStripGenerateButton}); this.mainToolStrip.Location = new System.Drawing.Point(0, 0); this.mainToolStrip.Name = "mainToolStrip"; this.mainToolStrip.Size = new System.Drawing.Size(1088, 27); this.mainToolStrip.TabIndex = 19; this.mainToolStrip.Text = "toolStrip1"; // // toolStripButtonNew // this.toolStripButtonNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonNew.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonNew.Image"))); this.toolStripButtonNew.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonNew.Name = "toolStripButtonNew"; this.toolStripButtonNew.Size = new System.Drawing.Size(24, 24); this.toolStripButtonNew.Text = "Новый"; this.toolStripButtonNew.Click += new System.EventHandler(this.newToolStripMenuItem_Click); // // toolStripOpenButton // this.toolStripOpenButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripOpenButton.Image = ((System.Drawing.Image)(resources.GetObject("toolStripOpenButton.Image"))); this.toolStripOpenButton.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripOpenButton.Name = "toolStripOpenButton"; this.toolStripOpenButton.Size = new System.Drawing.Size(24, 24); this.toolStripOpenButton.Text = "Открыть..."; this.toolStripOpenButton.Click += new System.EventHandler(this.open_Click); // // toolStripSaveButton // this.toolStripSaveButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripSaveButton.Image = ((System.Drawing.Image)(resources.GetObject("toolStripSaveButton.Image"))); this.toolStripSaveButton.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripSaveButton.Name = "toolStripSaveButton"; this.toolStripSaveButton.Size = new System.Drawing.Size(24, 24); this.toolStripSaveButton.Text = "Сохранить"; this.toolStripSaveButton.Click += new System.EventHandler(this.save_Click); // // toolStripSaveAsButton // this.toolStripSaveAsButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripSaveAsButton.Image = ((System.Drawing.Image)(resources.GetObject("toolStripSaveAsButton.Image"))); this.toolStripSaveAsButton.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripSaveAsButton.Name = "toolStripSaveAsButton"; this.toolStripSaveAsButton.Size = new System.Drawing.Size(24, 24); this.toolStripSaveAsButton.Text = "Сохранить как..."; this.toolStripSaveAsButton.Click += new System.EventHandler(this.save_as_Click); // // toolStripButtonSaveStore // this.toolStripButtonSaveStore.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonSaveStore.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonSaveStore.Image"))); this.toolStripButtonSaveStore.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonSaveStore.Name = "toolStripButtonSaveStore"; this.toolStripButtonSaveStore.Size = new System.Drawing.Size(24, 24); this.toolStripButtonSaveStore.Text = "Сохранить и сделать копию"; this.toolStripButtonSaveStore.Click += new System.EventHandler(this.toolStripButtonSaveStore_Click); // // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; this.toolStripSeparator1.Size = new System.Drawing.Size(6, 27); // // toolStripOptionsButton // this.toolStripOptionsButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripOptionsButton.Image = ((System.Drawing.Image)(resources.GetObject("toolStripOptionsButton.Image"))); this.toolStripOptionsButton.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripOptionsButton.Name = "toolStripOptionsButton"; this.toolStripOptionsButton.Size = new System.Drawing.Size(24, 24); this.toolStripOptionsButton.Text = "Настройки..."; this.toolStripOptionsButton.Click += new System.EventHandler(this.toolStripOptionsButton_Click); // // toolStripSeparator2 // this.toolStripSeparator2.Name = "toolStripSeparator2"; this.toolStripSeparator2.Size = new System.Drawing.Size(6, 27); // // toolStripGenerateButton // this.toolStripGenerateButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripGenerateButton.Image = ((System.Drawing.Image)(resources.GetObject("toolStripGenerateButton.Image"))); this.toolStripGenerateButton.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripGenerateButton.Name = "toolStripGenerateButton"; this.toolStripGenerateButton.Size = new System.Drawing.Size(24, 24); this.toolStripGenerateButton.Text = "Генерировать"; this.toolStripGenerateButton.Click += new System.EventHandler(this.toolStripGenerateButton_Click); // // groupBox1 // this.groupBox1.Controls.Add(this.nodes_list); this.groupBox1.Controls.Add(this.nodesToolStrip); this.groupBox1.Dock = System.Windows.Forms.DockStyle.Left; this.groupBox1.Location = new System.Drawing.Point(0, 164); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(295, 532); this.groupBox1.TabIndex = 20; this.groupBox1.TabStop = false; this.groupBox1.Text = "Узлы:"; // // nodes_list // this.nodes_list.ContextMenuStrip = this.nodesContextMenu; this.nodes_list.Dock = System.Windows.Forms.DockStyle.Fill; this.nodes_list.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); this.nodes_list.IntegralHeight = false; this.nodes_list.ItemHeight = 20; this.nodes_list.Location = new System.Drawing.Point(3, 45); this.nodes_list.Name = "nodes_list"; this.nodes_list.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; this.nodes_list.Size = new System.Drawing.Size(289, 484); this.nodes_list.TabIndex = 4; this.nodes_list.SelectedIndexChanged += new System.EventHandler(this.nodes_list_SelectedIndexChanged); this.nodes_list.KeyDown += new System.Windows.Forms.KeyEventHandler(this.nodes_list_KeyDown); this.nodes_list.MouseDown += new System.Windows.Forms.MouseEventHandler(this.nodes_list_MouseMove); this.nodes_list.MouseMove += new System.Windows.Forms.MouseEventHandler(this.nodes_list_MouseMove); // // nodesContextMenu // this.nodesContextMenu.ImageScalingSize = new System.Drawing.Size(20, 20); this.nodesContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addToolStripMenuItem, this.toolStripMenuItem6, this.moveUpToolStripMenuItem, this.moveDownToolStripMenuItem, this.toolStripMenuItem7, this.deleteToolStripMenuItem}); this.nodesContextMenu.Name = "contextMenuStrip1"; this.nodesContextMenu.Size = new System.Drawing.Size(216, 120); // // addToolStripMenuItem // this.addToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("addToolStripMenuItem.Image"))); this.addToolStripMenuItem.Name = "addToolStripMenuItem"; this.addToolStripMenuItem.Size = new System.Drawing.Size(215, 26); this.addToolStripMenuItem.Text = "Добавить"; this.addToolStripMenuItem.Click += new System.EventHandler(this.add_Click); // // toolStripMenuItem6 // this.toolStripMenuItem6.Name = "toolStripMenuItem6"; this.toolStripMenuItem6.Size = new System.Drawing.Size(212, 6); // // moveUpToolStripMenuItem // this.moveUpToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("moveUpToolStripMenuItem.Image"))); this.moveUpToolStripMenuItem.Name = "moveUpToolStripMenuItem"; this.moveUpToolStripMenuItem.Size = new System.Drawing.Size(215, 26); this.moveUpToolStripMenuItem.Text = "Передвинуть вверх"; this.moveUpToolStripMenuItem.Click += new System.EventHandler(this.Up_Click); // // moveDownToolStripMenuItem // this.moveDownToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("moveDownToolStripMenuItem.Image"))); this.moveDownToolStripMenuItem.Name = "moveDownToolStripMenuItem"; this.moveDownToolStripMenuItem.Size = new System.Drawing.Size(215, 26); this.moveDownToolStripMenuItem.Text = "Передвинуть вниз"; this.moveDownToolStripMenuItem.Click += new System.EventHandler(this.Down_Click); // // toolStripMenuItem7 // this.toolStripMenuItem7.Name = "toolStripMenuItem7"; this.toolStripMenuItem7.Size = new System.Drawing.Size(212, 6); // // deleteToolStripMenuItem // this.deleteToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("deleteToolStripMenuItem.Image"))); this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem"; this.deleteToolStripMenuItem.Size = new System.Drawing.Size(215, 26); this.deleteToolStripMenuItem.Text = "Удалить"; this.deleteToolStripMenuItem.Click += new System.EventHandler(this.delete_Click); // // nodesToolStrip // this.nodesToolStrip.ImageScalingSize = new System.Drawing.Size(20, 20); this.nodesToolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripButtonAddNode, this.toolStripSeparator3, this.toolStripButtonMoveUp, this.toolStripButtonMoveDown, this.toolStripSeparator4, this.toolStripButtonDeleteNode, this.toolStripSeparator5, this.toolStripButtonSort, this.toolStripSeparator7, this.toolStripButtonTagSelected}); this.nodesToolStrip.Location = new System.Drawing.Point(3, 18); this.nodesToolStrip.Name = "nodesToolStrip"; this.nodesToolStrip.Size = new System.Drawing.Size(289, 27); this.nodesToolStrip.TabIndex = 27; this.nodesToolStrip.Text = "toolStrip2"; // // toolStripButtonAddNode // this.toolStripButtonAddNode.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonAddNode.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonAddNode.Image"))); this.toolStripButtonAddNode.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonAddNode.Name = "toolStripButtonAddNode"; this.toolStripButtonAddNode.Size = new System.Drawing.Size(24, 24); this.toolStripButtonAddNode.Text = "Add Node"; this.toolStripButtonAddNode.Click += new System.EventHandler(this.add_Click); // // toolStripSeparator3 // this.toolStripSeparator3.Name = "toolStripSeparator3"; this.toolStripSeparator3.Size = new System.Drawing.Size(6, 27); // // toolStripButtonMoveUp // this.toolStripButtonMoveUp.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonMoveUp.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonMoveUp.Image"))); this.toolStripButtonMoveUp.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonMoveUp.Name = "toolStripButtonMoveUp"; this.toolStripButtonMoveUp.Size = new System.Drawing.Size(24, 24); this.toolStripButtonMoveUp.Text = "Move Up"; this.toolStripButtonMoveUp.Click += new System.EventHandler(this.Up_Click); // // toolStripButtonMoveDown // this.toolStripButtonMoveDown.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonMoveDown.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonMoveDown.Image"))); this.toolStripButtonMoveDown.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonMoveDown.Name = "toolStripButtonMoveDown"; this.toolStripButtonMoveDown.Size = new System.Drawing.Size(24, 24); this.toolStripButtonMoveDown.Text = "Move Down"; this.toolStripButtonMoveDown.Click += new System.EventHandler(this.Down_Click); // // toolStripSeparator4 // this.toolStripSeparator4.Name = "toolStripSeparator4"; this.toolStripSeparator4.Size = new System.Drawing.Size(6, 27); // // toolStripButtonDeleteNode // this.toolStripButtonDeleteNode.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonDeleteNode.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonDeleteNode.Image"))); this.toolStripButtonDeleteNode.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonDeleteNode.Name = "toolStripButtonDeleteNode"; this.toolStripButtonDeleteNode.Size = new System.Drawing.Size(24, 24); this.toolStripButtonDeleteNode.Text = "Delete Node"; this.toolStripButtonDeleteNode.Click += new System.EventHandler(this.delete_Click); // // toolStripSeparator5 // this.toolStripSeparator5.Name = "toolStripSeparator5"; this.toolStripSeparator5.Size = new System.Drawing.Size(6, 27); // // toolStripButtonSort // this.toolStripButtonSort.CheckOnClick = true; this.toolStripButtonSort.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonSort.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonSort.Image"))); this.toolStripButtonSort.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonSort.Name = "toolStripButtonSort"; this.toolStripButtonSort.Size = new System.Drawing.Size(24, 24); this.toolStripButtonSort.Text = "Sort"; this.toolStripButtonSort.CheckedChanged += new System.EventHandler(this.toolStripButton1_CheckedChanged); // // toolStripSeparator7 // this.toolStripSeparator7.Name = "toolStripSeparator7"; this.toolStripSeparator7.Size = new System.Drawing.Size(6, 27); // // toolStripButtonTagSelected // this.toolStripButtonTagSelected.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonTagSelected.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonTagSelected.Image"))); this.toolStripButtonTagSelected.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonTagSelected.Name = "toolStripButtonTagSelected"; this.toolStripButtonTagSelected.Size = new System.Drawing.Size(24, 24); this.toolStripButtonTagSelected.Text = "Присвоить тег"; this.toolStripButtonTagSelected.Click += new System.EventHandler(this.saveTempFilter_Click); // // groupBox2 // this.groupBox2.Controls.Add(this.panel3); this.groupBox2.Controls.Add(this.splitter2); this.groupBox2.Controls.Add(this.panel2); this.groupBox2.Controls.Add(this.splitter1); this.groupBox2.Controls.Add(this.panel4); this.groupBox2.Controls.Add(this.panel1); this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill; this.groupBox2.Location = new System.Drawing.Point(295, 164); this.groupBox2.Name = "groupBox2"; this.groupBox2.Size = new System.Drawing.Size(793, 532); this.groupBox2.TabIndex = 21; this.groupBox2.TabStop = false; this.groupBox2.Text = "Содержимое узлов:"; // // panel3 // this.panel3.Controls.Add(this.scintilla1); this.panel3.Controls.Add(this.edtiorToolStrip); this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; this.panel3.Location = new System.Drawing.Point(3, 73); this.panel3.Name = "panel3"; this.panel3.Size = new System.Drawing.Size(787, 165); this.panel3.TabIndex = 29; // // scintilla1 // this.scintilla1.AutoComplete.IsCaseSensitive = false; this.scintilla1.AutoComplete.ListString = ""; this.scintilla1.AutoComplete.MaxHeight = 10; this.scintilla1.ConfigurationManager.Language = "cs"; this.scintilla1.Dock = System.Windows.Forms.DockStyle.Fill; this.scintilla1.Indentation.IndentWidth = 2; this.scintilla1.Indentation.SmartIndentType = ScintillaNET.SmartIndent.CPP; this.scintilla1.Location = new System.Drawing.Point(0, 27); this.scintilla1.Name = "scintilla1"; this.scintilla1.Size = new System.Drawing.Size(787, 138); this.scintilla1.Styles.BraceBad.Size = 7F; this.scintilla1.Styles.BraceLight.Size = 7F; this.scintilla1.Styles.ControlChar.Size = 7F; this.scintilla1.Styles.Default.BackColor = System.Drawing.SystemColors.Window; this.scintilla1.Styles.Default.Size = 7F; this.scintilla1.Styles.IndentGuide.Size = 7F; this.scintilla1.Styles.LastPredefined.Size = 7F; this.scintilla1.Styles.LineNumber.Size = 7F; this.scintilla1.Styles.Max.Size = 7F; this.scintilla1.TabIndex = 23; // // edtiorToolStrip // this.edtiorToolStrip.ImageScalingSize = new System.Drawing.Size(20, 20); this.edtiorToolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripButtonCut, this.toolStripButtonCopy, this.toolStripButtonPaste, this.toolStripSeparator6, this.toolStripButtonUndo, this.toolStripButtonRedo}); this.edtiorToolStrip.Location = new System.Drawing.Point(0, 0); this.edtiorToolStrip.Name = "edtiorToolStrip"; this.edtiorToolStrip.Size = new System.Drawing.Size(787, 27); this.edtiorToolStrip.TabIndex = 24; this.edtiorToolStrip.Text = "toolStrip3"; // // toolStripButtonCut // this.toolStripButtonCut.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonCut.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonCut.Image"))); this.toolStripButtonCut.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonCut.Name = "toolStripButtonCut"; this.toolStripButtonCut.Size = new System.Drawing.Size(24, 24); this.toolStripButtonCut.Text = "Cut"; this.toolStripButtonCut.Click += new System.EventHandler(this.toolStripButtonCut_Click); // // toolStripButtonCopy // this.toolStripButtonCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonCopy.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonCopy.Image"))); this.toolStripButtonCopy.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonCopy.Name = "toolStripButtonCopy"; this.toolStripButtonCopy.Size = new System.Drawing.Size(24, 24); this.toolStripButtonCopy.Text = "Copy"; this.toolStripButtonCopy.Click += new System.EventHandler(this.toolStripButtonCopy_Click); // // toolStripButtonPaste // this.toolStripButtonPaste.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonPaste.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonPaste.Image"))); this.toolStripButtonPaste.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonPaste.Name = "toolStripButtonPaste"; this.toolStripButtonPaste.Size = new System.Drawing.Size(24, 24); this.toolStripButtonPaste.Text = "Paste"; this.toolStripButtonPaste.Click += new System.EventHandler(this.toolStripButtonPaste_Click); // // toolStripSeparator6 // this.toolStripSeparator6.Name = "toolStripSeparator6"; this.toolStripSeparator6.Size = new System.Drawing.Size(6, 27); // // toolStripButtonUndo // this.toolStripButtonUndo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonUndo.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonUndo.Image"))); this.toolStripButtonUndo.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonUndo.Name = "toolStripButtonUndo"; this.toolStripButtonUndo.Size = new System.Drawing.Size(24, 24); this.toolStripButtonUndo.Text = "Undo"; this.toolStripButtonUndo.Click += new System.EventHandler(this.toolStripButtonUndo_Click); // // toolStripButtonRedo // this.toolStripButtonRedo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.toolStripButtonRedo.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonRedo.Image"))); this.toolStripButtonRedo.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolStripButtonRedo.Name = "toolStripButtonRedo"; this.toolStripButtonRedo.Size = new System.Drawing.Size(24, 24); this.toolStripButtonRedo.Text = "Redo"; this.toolStripButtonRedo.Click += new System.EventHandler(this.toolStripButtonRedo_Click); // // splitter2 // this.splitter2.Cursor = System.Windows.Forms.Cursors.HSplit; this.splitter2.Dock = System.Windows.Forms.DockStyle.Bottom; this.splitter2.Location = new System.Drawing.Point(3, 238); this.splitter2.MinExtra = 40; this.splitter2.MinSize = 40; this.splitter2.Name = "splitter2"; this.splitter2.Size = new System.Drawing.Size(787, 3); this.splitter2.TabIndex = 30; this.splitter2.TabStop = false; // // panel2 // this.panel2.Controls.Add(this.help_context); this.panel2.Controls.Add(this.label3); this.panel2.Dock = System.Windows.Forms.DockStyle.Bottom; this.panel2.Location = new System.Drawing.Point(3, 241); this.panel2.Name = "panel2"; this.panel2.Size = new System.Drawing.Size(787, 117); this.panel2.TabIndex = 28; // // help_context // this.help_context.Dock = System.Windows.Forms.DockStyle.Fill; this.help_context.Location = new System.Drawing.Point(0, 18); this.help_context.Multiline = true; this.help_context.Name = "help_context"; this.help_context.Size = new System.Drawing.Size(787, 99); this.help_context.TabIndex = 25; // // label3 // this.label3.Dock = System.Windows.Forms.DockStyle.Top; this.label3.Location = new System.Drawing.Point(0, 0); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(787, 18); this.label3.TabIndex = 26; this.label3.Text = "Справочная информация:"; // // splitter1 // this.splitter1.Cursor = System.Windows.Forms.Cursors.HSplit; this.splitter1.Dock = System.Windows.Forms.DockStyle.Bottom; this.splitter1.Location = new System.Drawing.Point(3, 358); this.splitter1.MinExtra = 40; this.splitter1.MinSize = 40; this.splitter1.Name = "splitter1"; this.splitter1.Size = new System.Drawing.Size(787, 3); this.splitter1.TabIndex = 3; this.splitter1.TabStop = false; // // panel4 // this.panel4.Controls.Add(this.tags); this.panel4.Controls.Add(this.tagItems); this.panel4.Controls.Add(this.tagCategories); this.panel4.Controls.Add(this.label4); this.panel4.Dock = System.Windows.Forms.DockStyle.Bottom; this.panel4.Location = new System.Drawing.Point(3, 361); this.panel4.Name = "panel4"; this.panel4.Size = new System.Drawing.Size(787, 168); this.panel4.TabIndex = 27; // // tags // this.tags.AutoSize = true; this.tags.Location = new System.Drawing.Point(269, 0); this.tags.Name = "tags"; this.tags.Size = new System.Drawing.Size(42, 17); this.tags.TabIndex = 3; this.tags.Text = "Теги:"; // // tagItems // this.tagItems.Dock = System.Windows.Forms.DockStyle.Fill; this.tagItems.Location = new System.Drawing.Point(269, 17); this.tagItems.Multiline = true; this.tagItems.Name = "tagItems"; this.tagItems.Size = new System.Drawing.Size(518, 151); this.tagItems.TabIndex = 2; this.tagItems.TextChanged += new System.EventHandler(this.tagItems_TextChanged); // // tagCategories // this.tagCategories.Dock = System.Windows.Forms.DockStyle.Left; this.tagCategories.FormattingEnabled = true; this.tagCategories.IntegralHeight = false; this.tagCategories.ItemHeight = 16; this.tagCategories.Location = new System.Drawing.Point(0, 17); this.tagCategories.Name = "tagCategories"; this.tagCategories.Size = new System.Drawing.Size(269, 151); this.tagCategories.TabIndex = 1; this.tagCategories.SelectedIndexChanged += new System.EventHandler(this.tagCategories_SelectedIndexChanged); // // label4 // this.label4.AutoSize = true; this.label4.Dock = System.Windows.Forms.DockStyle.Top; this.label4.Location = new System.Drawing.Point(0, 0); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(81, 17); this.label4.TabIndex = 0; this.label4.Text = "Категории:"; // // panel1 // this.panel1.Controls.Add(this.saveNodeButton); this.panel1.Controls.Add(this.reloadButton); this.panel1.Controls.Add(this.base_class); this.panel1.Controls.Add(this.label2); this.panel1.Controls.Add(this.label1); this.panel1.Controls.Add(this.node_name); this.panel1.Dock = System.Windows.Forms.DockStyle.Top; this.panel1.Location = new System.Drawing.Point(3, 18); this.panel1.Name = "panel1"; this.panel1.Size = new System.Drawing.Size(787, 55); this.panel1.TabIndex = 27; // // saveNodeButton // this.saveNodeButton.Location = new System.Drawing.Point(4, 3); this.saveNodeButton.Name = "saveNodeButton"; this.saveNodeButton.Size = new System.Drawing.Size(116, 26); this.saveNodeButton.TabIndex = 32; this.saveNodeButton.Text = "Применить"; this.saveNodeButton.UseVisualStyleBackColor = true; this.saveNodeButton.Click += new System.EventHandler(this.saveNodeButton_Click); // // reloadButton // this.reloadButton.Location = new System.Drawing.Point(4, 29); this.reloadButton.Name = "reloadButton"; this.reloadButton.Size = new System.Drawing.Size(116, 25); this.reloadButton.TabIndex = 31; this.reloadButton.Text = "Перезагрузить"; this.reloadButton.UseVisualStyleBackColor = true; this.reloadButton.Click += new System.EventHandler(this.reloadButton_Click_1); // // base_class // this.base_class.FormattingEnabled = true; this.base_class.Location = new System.Drawing.Point(241, 29); this.base_class.Name = "base_class"; this.base_class.Size = new System.Drawing.Size(539, 24); this.base_class.TabIndex = 30; // // label2 // this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(128, 32); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(110, 17); this.label2.TabIndex = 29; this.label2.Text = "Базовый класс:"; // // label1 // this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(128, 8); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(73, 17); this.label1.TabIndex = 28; this.label1.Text = "Имя узла:"; // // node_name // this.node_name.Location = new System.Drawing.Point(241, 3); this.node_name.Name = "node_name"; this.node_name.Size = new System.Drawing.Size(539, 22); this.node_name.TabIndex = 27; // // panel5 // this.panel5.Controls.Add(this.panel6); this.panel5.Controls.Add(this.mainToolStrip); this.panel5.Dock = System.Windows.Forms.DockStyle.Top; this.panel5.Location = new System.Drawing.Point(0, 26); this.panel5.Name = "panel5"; this.panel5.Size = new System.Drawing.Size(1088, 135); this.panel5.TabIndex = 23; // // panel6 // this.panel6.Controls.Add(this.filterItems); this.panel6.Controls.Add(this.filterCategories); this.panel6.Controls.Add(this.panelFilterButtons); this.panel6.Dock = System.Windows.Forms.DockStyle.Fill; this.panel6.Location = new System.Drawing.Point(0, 27); this.panel6.Name = "panel6"; this.panel6.Size = new System.Drawing.Size(1088, 108); this.panel6.TabIndex = 20; // // filterItems // this.filterItems.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.filterItems.CheckBoxes = true; this.filterItems.ContextMenuStrip = this.filtersPanelContextMenu; this.filterItems.Dock = System.Windows.Forms.DockStyle.Fill; this.filterItems.Location = new System.Drawing.Point(322, 0); this.filterItems.MultiSelect = false; this.filterItems.Name = "filterItems"; this.filterItems.Size = new System.Drawing.Size(766, 108); this.filterItems.TabIndex = 5; this.filterItems.UseCompatibleStateImageBehavior = false; this.filterItems.View = System.Windows.Forms.View.List; this.filterItems.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.filterItems_ItemChecked); // // filtersPanelContextMenu // this.filtersPanelContextMenu.ImageScalingSize = new System.Drawing.Size(20, 20); this.filtersPanelContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.editInTagsCollectionToolStripMenuItem}); this.filtersPanelContextMenu.Name = "filtersPanelContextMenu"; this.filtersPanelContextMenu.Size = new System.Drawing.Size(198, 26); // // editInTagsCollectionToolStripMenuItem // this.editInTagsCollectionToolStripMenuItem.Name = "editInTagsCollectionToolStripMenuItem"; this.editInTagsCollectionToolStripMenuItem.Size = new System.Drawing.Size(197, 22); this.editInTagsCollectionToolStripMenuItem.Text = "Редактор тегов..."; this.editInTagsCollectionToolStripMenuItem.Click += new System.EventHandler(this.tagsCollectionToolStripMenuItem_Click); // // filterCategories // this.filterCategories.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.filterCategories.ContextMenuStrip = this.filtersPanelContextMenu; this.filterCategories.Dock = System.Windows.Forms.DockStyle.Left; this.filterCategories.IntegralHeight = false; this.filterCategories.ItemHeight = 16; this.filterCategories.Location = new System.Drawing.Point(140, 0); this.filterCategories.Name = "filterCategories"; this.filterCategories.Size = new System.Drawing.Size(182, 108); this.filterCategories.TabIndex = 6; this.filterCategories.SelectedIndexChanged += new System.EventHandler(this.filterCategories_SelectedIndexChanged); // // panelFilterButtons // this.panelFilterButtons.Controls.Add(this.filterSelected); this.panelFilterButtons.Controls.Add(this.filterAncestors); this.panelFilterButtons.Controls.Add(this.resetFilterButton); this.panelFilterButtons.Dock = System.Windows.Forms.DockStyle.Left; this.panelFilterButtons.Location = new System.Drawing.Point(0, 0); this.panelFilterButtons.Name = "panelFilterButtons"; this.panelFilterButtons.Size = new System.Drawing.Size(140, 108); this.panelFilterButtons.TabIndex = 3; // // filterSelected // this.filterSelected.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; this.filterSelected.Dock = System.Windows.Forms.DockStyle.Fill; this.filterSelected.FlatAppearance.BorderColor = System.Drawing.Color.Black; this.filterSelected.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonShadow; this.filterSelected.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.filterSelected.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); this.filterSelected.Location = new System.Drawing.Point(0, 29); this.filterSelected.Name = "filterSelected"; this.filterSelected.Size = new System.Drawing.Size(140, 50); this.filterSelected.TabIndex = 1; this.filterSelected.Text = "Только выделенные"; this.filterSelected.UseVisualStyleBackColor = true; this.filterSelected.Click += new System.EventHandler(this.customFilterMode_CheckedChanged); // // filterAncestors // this.filterAncestors.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; this.filterAncestors.Dock = System.Windows.Forms.DockStyle.Bottom; this.filterAncestors.FlatAppearance.BorderColor = System.Drawing.Color.Black; this.filterAncestors.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonShadow; this.filterAncestors.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.filterAncestors.Location = new System.Drawing.Point(0, 79); this.filterAncestors.Name = "filterAncestors"; this.filterAncestors.Size = new System.Drawing.Size(140, 29); this.filterAncestors.TabIndex = 2; this.filterAncestors.Text = "Только предки"; this.filterAncestors.UseVisualStyleBackColor = true; this.filterAncestors.Click += new System.EventHandler(this.filterAncestors_Click); // // resetFilterButton // this.resetFilterButton.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; this.resetFilterButton.Dock = System.Windows.Forms.DockStyle.Top; this.resetFilterButton.FlatAppearance.BorderColor = System.Drawing.Color.Black; this.resetFilterButton.FlatAppearance.MouseDownBackColor = System.Drawing.SystemColors.ButtonShadow; this.resetFilterButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.resetFilterButton.Location = new System.Drawing.Point(0, 0); this.resetFilterButton.Name = "resetFilterButton"; this.resetFilterButton.Size = new System.Drawing.Size(140, 29); this.resetFilterButton.TabIndex = 0; this.resetFilterButton.Text = "Очистить фильтр"; this.resetFilterButton.UseVisualStyleBackColor = true; this.resetFilterButton.Click += new System.EventHandler(this.resetFilterButton_Click); // // fileToolStripMenuItem // this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.newToolStripMenuItem, this.openToolStripMenuItem, this.saveToolStripMenuItem, this.saveAsToolStripMenuItem, this.saveAndStoreToolStripMenuItem, this.toolStripMenuItem1, this.quitToolStripMenuItem}); this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Size = new System.Drawing.Size(54, 22); this.fileToolStripMenuItem.Text = "Файл"; // // newToolStripMenuItem // this.newToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("newToolStripMenuItem.Image"))); this.newToolStripMenuItem.Name = "newToolStripMenuItem"; this.newToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N))); this.newToolStripMenuItem.Size = new System.Drawing.Size(273, 26); this.newToolStripMenuItem.Text = "Новый"; this.newToolStripMenuItem.Click += new System.EventHandler(this.newToolStripMenuItem_Click); // // openToolStripMenuItem // this.openToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("openToolStripMenuItem.Image"))); this.openToolStripMenuItem.Name = "openToolStripMenuItem"; this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); this.openToolStripMenuItem.Size = new System.Drawing.Size(273, 26); this.openToolStripMenuItem.Text = "Открыть..."; this.openToolStripMenuItem.Click += new System.EventHandler(this.open_Click); // // saveToolStripMenuItem // this.saveToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripMenuItem.Image"))); this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); this.saveToolStripMenuItem.Size = new System.Drawing.Size(273, 26); this.saveToolStripMenuItem.Text = "Сохранить"; this.saveToolStripMenuItem.Click += new System.EventHandler(this.save_Click); // // saveAsToolStripMenuItem // this.saveAsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveAsToolStripMenuItem.Image"))); this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; this.saveAsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt) | System.Windows.Forms.Keys.S))); this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(273, 26); this.saveAsToolStripMenuItem.Text = "Сохранить как..."; this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.save_as_Click); // // saveAndStoreToolStripMenuItem // this.saveAndStoreToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveAndStoreToolStripMenuItem.Image"))); this.saveAndStoreToolStripMenuItem.Name = "saveAndStoreToolStripMenuItem"; this.saveAndStoreToolStripMenuItem.Size = new System.Drawing.Size(273, 26); this.saveAndStoreToolStripMenuItem.Text = "Сохранить и сделать копию"; // // toolStripMenuItem1 // this.toolStripMenuItem1.Name = "toolStripMenuItem1"; this.toolStripMenuItem1.Size = new System.Drawing.Size(270, 6); // // quitToolStripMenuItem // this.quitToolStripMenuItem.Name = "quitToolStripMenuItem"; this.quitToolStripMenuItem.Size = new System.Drawing.Size(273, 26); this.quitToolStripMenuItem.Text = "Выйти"; this.quitToolStripMenuItem.Click += new System.EventHandler(this.quitToolStripMenuItem_Click); // // nodesToolStripMenuItem // this.nodesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addNodeToolStripMenuItem, this.toolStripMenuItem2, this.moveNodeUpToolStripMenuItem, this.moveNodeDownToolStripMenuItem, this.toolStripMenuItem3, this.deleteNodeToolStripMenuItem, this.toolStripMenuItem4, this.sortToolStripMenuItem, this.присвоитьТегToolStripMenuItem, this.globalRenamerToolStripMenuItem}); this.nodesToolStripMenuItem.Name = "nodesToolStripMenuItem"; this.nodesToolStripMenuItem.Size = new System.Drawing.Size(54, 22); this.nodesToolStripMenuItem.Text = "Узлы"; // // addNodeToolStripMenuItem // this.addNodeToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("addNodeToolStripMenuItem.Image"))); this.addNodeToolStripMenuItem.Name = "addNodeToolStripMenuItem"; this.addNodeToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N))); this.addNodeToolStripMenuItem.Size = new System.Drawing.Size(279, 26); this.addNodeToolStripMenuItem.Text = "Добавить узел"; this.addNodeToolStripMenuItem.Click += new System.EventHandler(this.add_Click); // // toolStripMenuItem2 // this.toolStripMenuItem2.Name = "toolStripMenuItem2"; this.toolStripMenuItem2.Size = new System.Drawing.Size(276, 6); // // moveNodeUpToolStripMenuItem // this.moveNodeUpToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("moveNodeUpToolStripMenuItem.Image"))); this.moveNodeUpToolStripMenuItem.Name = "moveNodeUpToolStripMenuItem"; this.moveNodeUpToolStripMenuItem.Size = new System.Drawing.Size(279, 26); this.moveNodeUpToolStripMenuItem.Text = "Передвинуть узел вверх"; this.moveNodeUpToolStripMenuItem.Click += new System.EventHandler(this.Up_Click); // // moveNodeDownToolStripMenuItem // this.moveNodeDownToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("moveNodeDownToolStripMenuItem.Image"))); this.moveNodeDownToolStripMenuItem.Name = "moveNodeDownToolStripMenuItem"; this.moveNodeDownToolStripMenuItem.Size = new System.Drawing.Size(279, 26); this.moveNodeDownToolStripMenuItem.Text = "Передвинуть узел вниз"; this.moveNodeDownToolStripMenuItem.Click += new System.EventHandler(this.Down_Click); // // toolStripMenuItem3 // this.toolStripMenuItem3.Name = "toolStripMenuItem3"; this.toolStripMenuItem3.Size = new System.Drawing.Size(276, 6); // // deleteNodeToolStripMenuItem // this.deleteNodeToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("deleteNodeToolStripMenuItem.Image"))); this.deleteNodeToolStripMenuItem.Name = "deleteNodeToolStripMenuItem"; this.deleteNodeToolStripMenuItem.Size = new System.Drawing.Size(279, 26); this.deleteNodeToolStripMenuItem.Text = "Удалить узел"; this.deleteNodeToolStripMenuItem.Click += new System.EventHandler(this.delete_Click); // // toolStripMenuItem4 // this.toolStripMenuItem4.Name = "toolStripMenuItem4"; this.toolStripMenuItem4.Size = new System.Drawing.Size(276, 6); // // sortToolStripMenuItem // this.sortToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("sortToolStripMenuItem.Image"))); this.sortToolStripMenuItem.Name = "sortToolStripMenuItem"; this.sortToolStripMenuItem.Size = new System.Drawing.Size(279, 26); this.sortToolStripMenuItem.Text = "Отсортировать узлы"; this.sortToolStripMenuItem.Click += new System.EventHandler(this.sortToolStripMenuItem_Click); // // присвоитьТегToolStripMenuItem // this.присвоитьТегToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("присвоитьТегToolStripMenuItem.Image"))); this.присвоитьТегToolStripMenuItem.Name = "присвоитьТегToolStripMenuItem"; this.присвоитьТегToolStripMenuItem.Size = new System.Drawing.Size(279, 26); this.присвоитьТегToolStripMenuItem.Text = "Присвоить тег"; this.присвоитьТегToolStripMenuItem.Click += new System.EventHandler(this.saveTempFilter_Click); // // globalRenamerToolStripMenuItem // this.globalRenamerToolStripMenuItem.Name = "globalRenamerToolStripMenuItem"; this.globalRenamerToolStripMenuItem.Size = new System.Drawing.Size(279, 26); this.globalRenamerToolStripMenuItem.Text = "Глобальное переименование"; this.globalRenamerToolStripMenuItem.Click += new System.EventHandler(this.globalRenamerToolStripMenuItem_Click); // // contentsToolStripMenuItem // this.contentsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.cutToolStripMenuItem, this.copyToolStripMenuItem, this.pasteToolStripMenuItem, this.toolStripMenuItem5, this.undoToolStripMenuItem, this.redoToolStripMenuItem}); this.contentsToolStripMenuItem.Name = "contentsToolStripMenuItem"; this.contentsToolStripMenuItem.Size = new System.Drawing.Size(69, 22); this.contentsToolStripMenuItem.Text = "Правка"; // // cutToolStripMenuItem // this.cutToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("cutToolStripMenuItem.Image"))); this.cutToolStripMenuItem.Name = "cutToolStripMenuItem"; this.cutToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X))); this.cutToolStripMenuItem.Size = new System.Drawing.Size(224, 26); this.cutToolStripMenuItem.Text = "Вырезать"; this.cutToolStripMenuItem.Click += new System.EventHandler(this.toolStripButtonCut_Click); // // copyToolStripMenuItem // this.copyToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("copyToolStripMenuItem.Image"))); this.copyToolStripMenuItem.Name = "copyToolStripMenuItem"; this.copyToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C))); this.copyToolStripMenuItem.Size = new System.Drawing.Size(224, 26); this.copyToolStripMenuItem.Text = "Копировать"; this.copyToolStripMenuItem.Click += new System.EventHandler(this.toolStripButtonCopy_Click); // // pasteToolStripMenuItem // this.pasteToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("pasteToolStripMenuItem.Image"))); this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem"; this.pasteToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V))); this.pasteToolStripMenuItem.Size = new System.Drawing.Size(224, 26); this.pasteToolStripMenuItem.Text = "Вставить"; this.pasteToolStripMenuItem.Click += new System.EventHandler(this.toolStripButtonPaste_Click); // // toolStripMenuItem5 // this.toolStripMenuItem5.Name = "toolStripMenuItem5"; this.toolStripMenuItem5.Size = new System.Drawing.Size(221, 6); // // undoToolStripMenuItem // this.undoToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("undoToolStripMenuItem.Image"))); this.undoToolStripMenuItem.Name = "undoToolStripMenuItem"; this.undoToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z))); this.undoToolStripMenuItem.Size = new System.Drawing.Size(224, 26); this.undoToolStripMenuItem.Text = "Отменить"; this.undoToolStripMenuItem.Click += new System.EventHandler(this.toolStripButtonUndo_Click); // // redoToolStripMenuItem // this.redoToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("redoToolStripMenuItem.Image"))); this.redoToolStripMenuItem.Name = "redoToolStripMenuItem"; this.redoToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) | System.Windows.Forms.Keys.Z))); this.redoToolStripMenuItem.Size = new System.Drawing.Size(224, 26); this.redoToolStripMenuItem.Text = "Вернуть"; this.redoToolStripMenuItem.Click += new System.EventHandler(this.toolStripButtonRedo_Click); // // viewToolStripMenuItem // this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.filterPanelToolStripMenuItem}); this.viewToolStripMenuItem.Name = "viewToolStripMenuItem"; this.viewToolStripMenuItem.Size = new System.Drawing.Size(45, 22); this.viewToolStripMenuItem.Text = "Вид"; // // filterPanelToolStripMenuItem // this.filterPanelToolStripMenuItem.Checked = true; this.filterPanelToolStripMenuItem.CheckOnClick = true; this.filterPanelToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; this.filterPanelToolStripMenuItem.Name = "filterPanelToolStripMenuItem"; this.filterPanelToolStripMenuItem.Size = new System.Drawing.Size(191, 26); this.filterPanelToolStripMenuItem.Text = "Панель фильтра"; this.filterPanelToolStripMenuItem.CheckedChanged += new System.EventHandler(this.filterPanelToolStripMenuItem_CheckedChanged); // // optionsToolStripMenuItem // this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.optionsToolStripMenuItem1, this.tagsCollectionToolStripMenuItem}); this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; this.optionsToolStripMenuItem.Size = new System.Drawing.Size(92, 22); this.optionsToolStripMenuItem.Text = "Настройки"; // // optionsToolStripMenuItem1 // this.optionsToolStripMenuItem1.Name = "optionsToolStripMenuItem1"; this.optionsToolStripMenuItem1.Size = new System.Drawing.Size(197, 22); this.optionsToolStripMenuItem1.Text = "Настройки..."; this.optionsToolStripMenuItem1.Click += new System.EventHandler(this.toolStripOptionsButton_Click); // // tagsCollectionToolStripMenuItem // this.tagsCollectionToolStripMenuItem.Name = "tagsCollectionToolStripMenuItem"; this.tagsCollectionToolStripMenuItem.Size = new System.Drawing.Size(197, 22); this.tagsCollectionToolStripMenuItem.Text = "Редактор тегов..."; this.tagsCollectionToolStripMenuItem.Click += new System.EventHandler(this.tagsCollectionToolStripMenuItem_Click); // // runToolStripMenuItem // this.runToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.generateToolStripMenuItem, this.grammarBrowserToolStripMenuItem}); this.runToolStripMenuItem.Name = "runToolStripMenuItem"; this.runToolStripMenuItem.Size = new System.Drawing.Size(81, 22); this.runToolStripMenuItem.Text = "Команды"; // // generateToolStripMenuItem // this.generateToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("generateToolStripMenuItem.Image"))); this.generateToolStripMenuItem.Name = "generateToolStripMenuItem"; this.generateToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F9; this.generateToolStripMenuItem.Size = new System.Drawing.Size(205, 26); this.generateToolStripMenuItem.Text = "Генерировать"; this.generateToolStripMenuItem.Click += new System.EventHandler(this.toolStripGenerateButton_Click); // // grammarBrowserToolStripMenuItem // this.grammarBrowserToolStripMenuItem.Name = "grammarBrowserToolStripMenuItem"; this.grammarBrowserToolStripMenuItem.Size = new System.Drawing.Size(205, 26); this.grammarBrowserToolStripMenuItem.Text = "Иерархия узлов..."; // // mainMenu // this.mainMenu.ImageScalingSize = new System.Drawing.Size(20, 20); this.mainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, this.contentsToolStripMenuItem, this.nodesToolStripMenuItem, this.viewToolStripMenuItem, this.optionsToolStripMenuItem, this.runToolStripMenuItem, this.helpToolStripMenuItem}); this.mainMenu.Location = new System.Drawing.Point(0, 0); this.mainMenu.Name = "mainMenu"; this.mainMenu.Size = new System.Drawing.Size(1088, 26); this.mainMenu.TabIndex = 22; this.mainMenu.Text = "menuStrip1"; // // helpToolStripMenuItem // this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.aboutToolStripMenuItem}); this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; this.helpToolStripMenuItem.Size = new System.Drawing.Size(76, 22); this.helpToolStripMenuItem.Text = "Справка"; this.helpToolStripMenuItem.Click += new System.EventHandler(this.helpToolStripMenuItem_Click); // // aboutToolStripMenuItem // this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; this.aboutToolStripMenuItem.Size = new System.Drawing.Size(181, 22); this.aboutToolStripMenuItem.Text = "О программе..."; this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); // // splitter3 // this.splitter3.Dock = System.Windows.Forms.DockStyle.Top; this.splitter3.Location = new System.Drawing.Point(0, 161); this.splitter3.Name = "splitter3"; this.splitter3.Size = new System.Drawing.Size(1088, 3); this.splitter3.TabIndex = 31; this.splitter3.TabStop = false; // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(6, 15); this.ClientSize = new System.Drawing.Size(1088, 724); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); this.Controls.Add(this.splitter3); this.Controls.Add(this.panel5); this.Controls.Add(this.NavigationPanel); this.Controls.Add(this.mainMenu); this.KeyPreview = true; this.MainMenuStrip = this.mainMenu; this.MinimumSize = new System.Drawing.Size(1080, 692); this.Name = "Form1"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "SyNerator"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); this.Load += new System.EventHandler(this.Form1_Load); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_ShortCutsHandler); this.NavigationPanel.ResumeLayout(false); this.NavigationPanel.PerformLayout(); this.mainToolStrip.ResumeLayout(false); this.mainToolStrip.PerformLayout(); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); this.nodesContextMenu.ResumeLayout(false); this.nodesToolStrip.ResumeLayout(false); this.nodesToolStrip.PerformLayout(); this.groupBox2.ResumeLayout(false); this.panel3.ResumeLayout(false); this.panel3.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.scintilla1)).EndInit(); this.edtiorToolStrip.ResumeLayout(false); this.edtiorToolStrip.PerformLayout(); this.panel2.ResumeLayout(false); this.panel2.PerformLayout(); this.panel4.ResumeLayout(false); this.panel4.PerformLayout(); this.panel1.ResumeLayout(false); this.panel1.PerformLayout(); this.panel5.ResumeLayout(false); this.panel5.PerformLayout(); this.panel6.ResumeLayout(false); this.filtersPanelContextMenu.ResumeLayout(false); this.panelFilterButtons.ResumeLayout(false); this.mainMenu.ResumeLayout(false); this.mainMenu.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); } #endregion /// /// The main entry point for the application. /// [STAThread] static void Main() { Application.Run(new Form1()); } internal NodeGenerator.NodeGenerator node_gen = new NodeGenerator.NodeGenerator(); private void reload_nodes() { nodes_list.Items.Clear(); nodes_list.Items.AddRange(node_gen.all_nodes.ToArray()); } private void set_nodes_information() // set - установить поля интерфейса по node_gen { if (node_gen == null) { node_gen = new NodeGenerator.NodeGenerator(); } reload_nodes(); fillInTagCategories(); creation_mode = false; selected_tag_cat = -1; selected_node = null; selected_node_index = -1; selected_filter_cat = -1; is_filter_enabled = false; if (nodes_list.Items.Count > 0) { new_selected_node = (nodes_list.Items[0] as node_info); nodes_list.SelectedIndex = 0; } else { node_name.Text = ""; base_class.Items.Clear(); base_class.Text = ""; scintilla1.Text = ""; help_context.Text = ""; } } private void get_nodes_information() // get - получить информацию из полей интерфейса и записать ее в node_gen { if (node_gen == null) { node_gen = new NodeGenerator.NodeGenerator(); } node_gen.set_nodes(nodes_list.Items); } private void loadFile(string fname) { if (!File.Exists(fname)) { MessageBox.Show("The file '" + fname + "' does NOT exist"); return; } node_gen = NodeGenerator.NodeGenerator.deserialize(fname); if (node_gen == null) { MessageBox.Show("Can not read nodes information from: " + fname); } else { set_nodes_information(); this.Text = Path.GetFileName(fname) + " - " + default_caption; } } private void open_Click(object sender, System.EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { if (CloseCurrentFile() == CloseResult.NotClosed) return; saveFileDialog1.FileName = openFileDialog1.FileName; loadFile(openFileDialog1.FileName); } } private void Form1_Load(object sender, System.EventArgs e) { createParser(); default_caption = this.Text; loadConfig(); if (File.Exists(saveFileDialog1.FileName)) loadFile(saveFileDialog1.FileName); } private void save_Click(object sender, System.EventArgs e) { saveCurrentFile(); } private void save_as_Click(object sender, System.EventArgs e) { saveAsCurrentFile(); } private void delete_selected_items() { nodes_list.SelectedIndexChanged -= nodes_list_SelectedIndexChanged; var x = nodes_list.SelectedIndices.Cast().ToList(); //already sorted...... for (int i = 0; i < x.Count; i++) { node_gen.all_nodes.Remove(nodes_list.Items[x[i] - i]); nodes_list.Items.RemoveAt(x[i] - i); } nodes_list.SelectedIndexChanged += nodes_list_SelectedIndexChanged; } private void add_Click(object sender, System.EventArgs e) { synchronize_node(); creation_mode = true; selected_node = new node_info(); set_node_info(selected_node); node_name.Focus(); } private void delete_Click(object sender, System.EventArgs e) { string messageBoxText = "Are you sure, you want to delete the selected node?"; string caption = "Delete the nodes?"; MessageBoxButtons button = MessageBoxButtons.YesNo; MessageBoxIcon icon = MessageBoxIcon.Warning; MessageBoxDefaultButton def_btn = MessageBoxDefaultButton.Button2; if (MessageBox.Show(messageBoxText, caption, button, icon, def_btn) == DialogResult.Yes) { int ind = selected_node_index; new_selected_node = selected_node = null; selected_node_index = -1; delete_selected_items(); nodes_list.SelectedIndex = Math.Min(nodes_list.Items.Count - 1, ind); // Голову отрывать надо за такой небрежный код selected_node = nodes_list.SelectedItem as node_info; selected_node_index = nodes_list.SelectedIndex; } //update(); } public void SortNodes() { string txt = null; object item = null; if (nodes_list.SelectedIndex >= 0) item = selected_node; if (item != null) txt = item.ToString(); node_gen.SortNodes(); reload_nodes(); if (item != null) { int ind = nodes_list.FindString(txt); nodes_list.SelectedIndex = ind; } } public void UnsortNodes() { string txt = null; object item = null; if (nodes_list.SelectedIndex >= 0) item = selected_node; if (item != null) txt = item.ToString(); node_gen.UnsortNodes(); reload_nodes(); if (item != null) { int ind = nodes_list.FindString(txt); nodes_list.SelectedIndex = ind; } } public System.Windows.Forms.DialogResult AskForSave() { return MessageBox.Show("Do you want to save the currently opened file?", "Save changes?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); } //Sub-routine for the next one private bool remove_last_nav_label_if_hidden() { if (NavigationPanel.Items[NavigationPanel.Items.Count - 1].Bounds.Right > NavigationPanel.Width) { NavigationPanel.Items.RemoveAt(NavigationPanel.Items.Count - 1); return true; } return false; } private void fill_in_navigation_panel(node_info ni) { if (ni == null) return; var DropDownNodes = (NavigationPanel.Items[0] as ToolStripDropDownButton).DropDownItems; DropDownNodes.Clear(); while (NavigationPanel.Items.Count > 1) NavigationPanel.Items.RemoveAt(1); var l = new List(); var s = ni.node_name; bool add_dots = false; while (true && l.Count < 40) // 40 to prevent perpetum cycle, if recursive base classes { if (!add_dots) { var nav_lbl = new ToolStripStatusLabel(s, null, ItemsClick); nav_lbl.IsLink = true; NavigationPanel.Items.Add(nav_lbl); add_dots = remove_last_nav_label_if_hidden(); if (!add_dots) { NavigationPanel.Items.Add(new ToolStripStatusLabel("->")); add_dots = remove_last_nav_label_if_hidden(); } } l.Add(ni.node_name); if (ni.base_class == null) break; ni = ni.base_class; s = ni.node_name; } if (NavigationPanel.Items.Count > 1) NavigationPanel.Items.RemoveAt(NavigationPanel.Items.Count - 1); if (add_dots) NavigationPanel.Items.Add(new ToolStripStatusLabel("...")); for (int i = l.Count - 1; i >= 0; i--) { DropDownNodes.Add(l[i]); DropDownNodes[DropDownNodes.Count - 1].Click += ItemsClick; } } private bool synchronize_node() { if (selected_node != null && !creation_mode) { if (!get_node_info(selected_node)) return false; //clumsy way, caused by the fact, we need to stay compatible with the old thing //haven't made a derived class, 'cause the method is invoked only once typeof(ListBox).InvokeMember("RefreshItem", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, nodes_list, new object[] { selected_node_index }); } return true; } private void nodes_list_SelectedIndexChanged(object sender, EventArgs e) { if (nodes_list_SelectedIndexChanged_recur) return; if (nodes_list.SelectedItem == null) return; node_info item = null; if (new_selected_node != null) { item = new_selected_node; new_selected_node = null; } else item = (nodes_list.SelectedItem as node_info); nodes_list_SelectedIndexChanged_recur = true; //reload the item, no other actions required, if the same node was selected if (item == selected_node) { set_node_info(item); } else { //creation of a new node case if (creation_mode) { if (node_name.Text != "") { if (!get_node_info(selected_node)) { nodes_list_SelectedIndexChanged_recur = false; return; } nodes_list.Items.Add(selected_node); node_gen.add_node(selected_node); } creation_mode = false; } else //default switch between nodes if (!synchronize_node()) { nodes_list.SelectedItems.Remove(item); nodes_list.SelectedItem = selected_node; nodes_list_SelectedIndexChanged_recur = false; return; } fill_in_navigation_panel(item); set_node_info(item); selected_node = item; selected_node_index = nodes_list.Items.IndexOf(item); } nodes_list_SelectedIndexChanged_recur = false; } private void ItemsClick(object sender, EventArgs e) { string text; if (sender is ToolStripStatusLabel) text = (sender as ToolStripStatusLabel).Text; else text = (sender as ToolStripMenuItem).Text; int ind = nodes_list.FindString(text); if (ind >= 0) nodes_list.SelectedIndex = ind; } private void Up_Click(object sender, EventArgs e) { if (selected_node_index < 0) return; nodes_list.SelectedIndexChanged -= nodes_list_SelectedIndexChanged; nodes_list.Items.RemoveAt(selected_node_index); nodes_list.Items.Insert(selected_node_index - 1, selected_node); if (!is_filter_enabled) node_gen.move_node(selected_node_index, selected_node_index - 1); selected_node_index--; nodes_list.SelectedIndices.Add(selected_node_index); nodes_list.SelectedIndexChanged += nodes_list_SelectedIndexChanged; } private void Down_Click(object sender, EventArgs e) { if (selected_node_index < 0) return; nodes_list.SelectedIndexChanged -= nodes_list_SelectedIndexChanged; nodes_list.Items.RemoveAt(selected_node_index); nodes_list.Items.Insert(selected_node_index + 1, selected_node); if (!is_filter_enabled) node_gen.move_node(selected_node_index, selected_node_index + 1); selected_node_index++; nodes_list.SelectedIndices.Add(selected_node_index); nodes_list.SelectedIndexChanged += nodes_list_SelectedIndexChanged; } private void loadConfig() { try { System.IO.StreamReader file = new System.IO.StreamReader(Directory.GetCurrentDirectory() + @"\config.cfg"); saveFileDialog1.FileName = file.ReadLine(); auto_save = file.ReadLine() == "1"; version_storage = file.ReadLine(); if (version_storage == null) version_storage = "Storage"; file.Close(); if (File.Exists("ac_list.cfg")) autocompletion_list.AddRange(File.ReadAllLines("ac_list.cfg")); } catch (Exception e) { } } private void saveConfig() { using (System.IO.StreamWriter file = new System.IO.StreamWriter(Directory.GetCurrentDirectory() + @"\config.cfg", false)) { file.WriteLine(saveFileDialog1.FileName); file.WriteLine(auto_save ? "1" : "0"); file.WriteLine(version_storage); } File.WriteAllLines("ac_list.cfg", autocompletion_list); } private void saveCurrentFile() { if (!synchronize_node()) return; toolStripButtonSort.Checked = false; //update(); if ((saveFileDialog1.FileName != null) && (saveFileDialog1.FileName != "")) { node_gen.serialize(saveFileDialog1.FileName); fill_in_filter_items(); } else { saveAsCurrentFile(); } } private void saveAsCurrentFile() { if (saveFileDialog1.ShowDialog() == DialogResult.OK) { saveCurrentFile(); } } private CloseResult CloseCurrentFile() { if (!synchronize_node()) return CloseResult.NotClosed; if (auto_save && (saveFileDialog1.FileName != null) && (saveFileDialog1.FileName != "")) { saveCurrentFile(); return CloseResult.Saved; } else switch (AskForSave()) { case System.Windows.Forms.DialogResult.Yes: saveCurrentFile(); return CloseResult.Saved; case System.Windows.Forms.DialogResult.Cancel: return CloseResult.NotClosed; } return CloseResult.NotSaved; } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (CloseCurrentFile() == CloseResult.NotClosed) { e.Cancel = true; return; } saveConfig(); } private void toolStripGenerateButton_Click(object sender, EventArgs e) { toolStripGenerateButton.Enabled = false; mainToolStrip.Items.Add("Generating, please, wait..."); mainToolStrip.Refresh(); bool state = toolStripButtonSort.Checked; toolStripButtonSort.Checked = false; //get_nodes_information(); node_gen.generate_code(); node_gen.generate_pcu_writer_code(false); node_gen.generate_pcu_reader_code(); toolStripButtonSort.Checked = state; mainToolStrip.Items.RemoveAt(mainToolStrip.Items.Count - 1); toolStripGenerateButton.Enabled = true; } private void Form1_ShortCutsHandler(object sender, KeyEventArgs e) { //if (e.KeyCode == Keys.F9) // toolStripGenerateButton_Click(sender, e); /* if (e.Control) { if (e.KeyCode == Keys.O) open_Click(sender, e); if (e.KeyCode == Keys.S) if (e.Alt) save_as_Click(sender, e); else save_Click(sender, e); }/*/ } private void toolStripOptionsButton_Click(object sender, EventArgs e) { var dlg = new options_form(); dlg.set_options_infromation(node_gen, auto_save, version_storage, autocompletion_list); if (dlg.ShowDialog() == DialogResult.OK) dlg.get_options_infromation(node_gen, out auto_save, out version_storage, autocompletion_list); } private void reloadButton_Click(object sender, EventArgs e) { set_node_info(selected_node); } //***********node_def replacement - editing node contents private void createParser() { _grammar = new CSharpGrammar(); _language = new LanguageData(_grammar); _parser = new Parser(_language); } private void set_node_info_help_context(string help_context_name) { var help_context = node_gen.help_storage.get_help_context(help_context_name).help_context; int p = 0; while (p < help_context.Length) { scintilla1.Text += "//" + help_context.Substring(p, Math.Min(max_str_len, help_context.Length - p)) + "\n"; p += max_str_len; } } private void set_node_info_tags(node_info ni) { if (ni == null) return; tagItems.Clear(); temp_tags.Clear(); foreach (var tg in ni.tags) { temp_tags.Add(new Tuple(tg.Item1, node_gen.tag_cats[tg.Item1].tags[tg.Item2].name)); } tagCategories.SelectedIndexChanged -= tagCategories_SelectedIndexChanged; if (tagCategories.Items.Count > 0) { if (selected_tag_cat == -1) selected_tag_cat = tagCategories.SelectedIndex = 0; else tagCategories.SelectedIndex = selected_tag_cat; fillInTagItems(selected_tag_cat); } tagCategories.SelectedIndexChanged += tagCategories_SelectedIndexChanged; update_tags = false; } private void set_node_info(node_info ni) { scintilla1.AutoComplete.List.Clear(); for (int i = 0; i < nodes_list.Items.Count; i++) scintilla1.AutoComplete.List.Add(nodes_list.Items[i].ToString()); scintilla1.AutoComplete.List.AddRange(autocompletion_list); scintilla1.AutoComplete.List.Sort(); this.node_name.Text = ni.node_name; //setting base class base_class.Items.Clear(); base_class.Items.AddRange((object[])node_gen.all_nodes.ToArray(typeof(object))); if (ni.base_class == null) { base_class.SelectedIndex = -1; base_class.Text = ""; } else base_class.SelectedIndex = Math.Max(-1, base_class.Items.IndexOf(ni.base_class)); //fields scintilla1.Text = ""; for (int i = 0; i < ni.subnodes.Length; i++) { set_node_info_help_context(ni.node_name + '.' + ni.subnodes[i].field_name); scintilla1.Text += ni.subnodes[i]; if (ni.subnodes[i] is extended_simple_element && (ni.subnodes[i] as extended_simple_element).create_var) scintilla1.Text += " = new " + (ni.subnodes[i] as extended_simple_element).field_type_name + "();"; if (scintilla1.Text[scintilla1.Text.Length - 1] != ';') scintilla1.Text += ';'; scintilla1.Text += "\n"; } scintilla1.Text += "\n"; //methods for (int i = 0; i < ni.methods.Length; i++) { set_node_info_help_context(ni.node_name + '.' + ni.methods[i].method_header); scintilla1.Text += ni.methods[i].method_text + "\n\n"; } scintilla1.UndoRedo.EmptyUndoBuffer(); //Help context this.help_context.Text = ""; if (ni.node_name != null) { if (node_gen.help_storage.get_help_context(ni.node_name) == null) { node_gen.help_storage.add_context(ni.node_name, new HelpContext()); } this.help_context.Text = node_gen.help_storage.get_help_context(ni.node_name).help_context; } //tags set_node_info_tags(ni); } //parsing node edits and saving private ParseTreeNode get_node_info_get_class_body(ParseTree _parseTree) { return _parseTree.Root.ChildNodes[3].ChildNodes[0].ChildNodes[2].ChildNodes[2].ChildNodes[0].ChildNodes[6].ChildNodes[0]; } private string get_node_info_get_subnode_type(ParseTreeNode node, string src) { return src.Substring(node.Span.Location.Position, node.ChildNodes[2].ChildNodes[0].ChildNodes[0].Span.Location.Position - node.Span.Location.Position).TrimEnd(); /* if (node.ChildNodes[1].ChildNodes[0].ChildNodes[0].ChildNodes[0].ChildNodes[0].ChildNodes.Count == 1) return node.ChildNodes[1].ChildNodes[0].ChildNodes[0].ChildNodes[0].ChildNodes[0].ChildNodes[0].Token.Text; return node.ChildNodes[1].ChildNodes[0].ChildNodes[0].ChildNodes[0].ChildNodes[0].Token.Text;*/ } private string get_node_info_get_subnode_name(ParseTreeNode node) { return node.ChildNodes[2].ChildNodes[0].ChildNodes[0].Token.Text; } private bool get_node_info_has_constructor(ParseTreeNode node) { return node.ChildNodes[2].ChildNodes[0].ChildNodes.Count > 1; } //root - class body with fields and methods; node - class itself; src - whole source (with namespace) private void get_node_info_get_subnodes_and_methods(ParseTreeNode root, node_info node, string src) { List subnodes = new List(); List methods = new List(); var lines = src.Split('\n'); var nodes = new List(); nodes.AddRange(node_gen.all_nodes.Cast()); for (int i = 0; i < root.ChildNodes.Count; i++) { HelpContext help_context = null; if (root.ChildNodes[i].Term.Name == "field_declaration") { var subnode_type = get_node_info_get_subnode_type(root.ChildNodes[i], src); var subnode = nodes.Find(x => x.node_name == subnode_type); if (subnode == null) subnodes.Add(new extended_simple_element() { val_field_type_name = subnode_type, field_name = get_node_info_get_subnode_name(root.ChildNodes[i]), create_var = get_node_info_has_constructor(root.ChildNodes[i]) // lines[root.ChildNodes[i].Span.Location.Line].Contains("new List") }); else subnodes.Add(new node_field_info() { field_name = get_node_info_get_subnode_name(root.ChildNodes[i]), field_type = subnode }); help_context = node_gen.help_storage.get_help_context(node.node_name + "." + subnodes[subnodes.Count - 1].field_name); } else if (root.ChildNodes[i].Term.Name == "constructor_declaration" || root.ChildNodes[i].Term.Name == "method_declaration") { methods.Add(new method_info(src.Substring(root.ChildNodes[i].Span.Location.Position, root.ChildNodes[i].Span.Length))); help_context = node_gen.help_storage.get_help_context(node.node_name + "." + methods[methods.Count - 1].method_header); } else continue; //help context help_context.help_context = ""; int help_cur_line = root.ChildNodes[i].Span.Location.Line - 1; while (lines[help_cur_line].Length > 2 && lines[help_cur_line].Substring(0, 2) == "//") { help_context.help_context = lines[help_cur_line].Substring(2, lines[help_cur_line].Length - 2).Trim() + help_context.help_context; help_cur_line--; } } node.set_subnodes(subnodes); node.set_methods(methods); } private bool cycles_in_deriving(node_info ni, node_info new_base_class) { if (new_base_class == null) return false; HashSet chain = new HashSet(); chain.Add(ni); while (new_base_class.base_class != null) { if (chain.Contains(new_base_class)) return true; chain.Add(new_base_class); new_base_class = new_base_class.base_class; } return false; } private bool get_node_info(node_info ni) { ////pre-checking //parsing //brackets are needed, so the sample grammar works fine without in-grammar changes string src = parser_tech_data + scintilla1.Text + "}}"; try { _parser.Parse(src, ""); } catch (Exception ex) { MessageBox.Show(ex.Message, ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error); throw; } ParseTree _parseTree = _parser.Context.CurrentParseTree; if (_parseTree.ParserMessages.Count > 0) { int show_mes_id = 0; while (_parseTree.ParserMessages.Count > show_mes_id) //"S109" "S315" if (parser_errors_ignore_states.Contains(_parseTree.ParserMessages[show_mes_id].ParserState.Name)) show_mes_id++; else break; if (show_mes_id < _parseTree.ParserMessages.Count) { MessageBox.Show("Some Syntax Error @ Line " + _parseTree.ParserMessages[show_mes_id].Location.Line.ToString(), _parseTree.ParserMessages[show_mes_id].Message, MessageBoxButtons.OK, MessageBoxIcon.Error); scintilla1.Caret.LineNumber = _parseTree.ParserMessages[show_mes_id].Location.Line - 1; scintilla1.Focus(); return false; } } //checking, if there are cycles in the deriving chain if (cycles_in_deriving(ni, base_class.SelectedItem as node_info)) { MessageBox.Show("Base class is incorrect for this node, as this leads to cycles in the deriving chain!", "Base class is incorrect", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } ////setters - work only if the first part is OK!! var root = get_node_info_get_class_body(_parseTree); get_node_info_get_subnodes_and_methods(root, ni, src); //node name & base class ni.node_name = node_name.Text; int t = base_class.SelectedIndex; if (t >= 0) ni.base_class = base_class.Items[t] as node_info; //help context node_gen.help_storage.get_help_context(ni.node_name).help_context = this.help_context.Text; //tags if (update_tags) { getTagItems(tagCategories.SelectedIndex); update_tags = true; } node_gen.reduce_ref_counts(ni); node_gen.set_tags_for_node(temp_tags, ni); if (update_tags) { fillInTagCategories(true); fill_in_filter_items(); applyCurrentFilterForNode(selected_node); update_tags = false; } return true; } //end of parse of node edits /* private void AddAllForList_Click(object sender, EventArgs e) { if (subnodes.Items.Count == 0) return; var ListItemType = subnodes.Items[0].ToString(); var ListName = ""; var NodeType = node_name.Text; if (ListItemType.ToLower().StartsWith("list")) { var i1 = ListItemType.IndexOf("<"); var i2 = ListItemType.IndexOf(">"); ListName = ListItemType.Substring(i2 + 2); ListItemType = ListItemType.Substring(i1 + 1, i2 - i1 - 1); } else return; // nm.method_header = "void Add(SourceContext sc)"; string templateListConstructor = "{0}({1} _{1}, SourceContext sc)\r\n{{\r\n Add(_{1},sc);\r\n}}"; string templateListAddNoSC = "{0} Add({1} _{1})\r\n{{\r\n {2}.Add(_{1});\r\n return this;\r\n}}"; string templateListAdd = "{0} Add({1} _{1}, SourceContext sc)\r\n{{\r\n {2}.Add(_{1});\r\n source_context = sc;\r\n return this;\r\n}}"; method_info nm = new method_info(); nm.method_text = string.Format(templateListConstructor, NodeType, ListItemType); methods.Items.Add(nm); nm = new method_info(); nm.method_text = string.Format(templateListAddNoSC, NodeType, ListItemType, ListName); methods.Items.Add(nm); nm = new method_info(); nm.method_text = string.Format(templateListAdd, NodeType, ListItemType, ListName); methods.Items.Add(nm); } * */ //*************end of node_def private void toolStripButton1_CheckedChanged(object sender, EventArgs e) { if (toolStripButtonSort.Checked) SortNodes(); else UnsortNodes(); sortToolStripMenuItem.Checked = toolStripButtonSort.Checked; } private void reloadButton_Click_1(object sender, EventArgs e) { nodes_list_SelectedIndexChanged(sender, e); } private void quitToolStripMenuItem_Click(object sender, EventArgs e) { this.Close(); } private void sortToolStripMenuItem_Click(object sender, EventArgs e) { sortToolStripMenuItem.Checked = toolStripButtonSort.Checked = !sortToolStripMenuItem.Checked; } private void toolStripButtonCut_Click(object sender, EventArgs e) { scintilla1.Commands.Execute(ScintillaNET.BindableCommand.Cut); } private void toolStripButtonCopy_Click(object sender, EventArgs e) { scintilla1.Commands.Execute(ScintillaNET.BindableCommand.Copy); } private void toolStripButtonPaste_Click(object sender, EventArgs e) { scintilla1.Commands.Execute(ScintillaNET.BindableCommand.Paste); } private void toolStripButtonUndo_Click(object sender, EventArgs e) { scintilla1.Commands.Execute(ScintillaNET.BindableCommand.Undo); } private void toolStripButtonRedo_Click(object sender, EventArgs e) { scintilla1.Commands.Execute(ScintillaNET.BindableCommand.Redo); } private void fillInTagCategories(bool keep_filter = false) { tagCategories.Items.Clear(); filterCategories.Items.Clear(); if (!keep_filter) current_filter = new List>(); for (int i = 0; i < node_gen.tag_cats.Count; i++) { tagCategories.Items.Add(node_gen.tag_cats[i].name); filterCategories.Items.Add(node_gen.tag_cats[i].name); if (!keep_filter) current_filter.Add(Enumerable.Repeat(false, node_gen.tag_cats[i].tags.Count).ToList()); else current_filter[i].AddRange(Enumerable.Repeat(false, Math.Max(0, node_gen.tag_cats[i].tags.Count - current_filter[i].Count)).ToList()); } } private void fillInTagItems(int cat_id) { tagItems.Text = ""; for (int i = 0; i < temp_tags.Count; i++) if (temp_tags[i].Item1 == cat_id) tagItems.Text += temp_tags[i].Item2 + "\r\n"; if (tagItems.Text.Length > 0) tagItems.Text = tagItems.Text.Substring(0, tagItems.Text.Length - 2); tagItems.Lines = tagItems.Lines.OrderBy(x => x).ToArray(); } private void getTagItems(int cat_id) { var remove_list = new List>(); for (int i = 0; i < temp_tags.Count; i++) if (temp_tags[i].Item1 == cat_id) remove_list.Add(temp_tags[i]); foreach (var tg in remove_list) temp_tags.Remove(tg); for (int i = 0; i < tagItems.Lines.Length; i++) { tagItems.Lines[i] = tagItems.Lines[i].Trim(); if (tagItems.Lines[i] != "") temp_tags.Add(new Tuple(cat_id, tagItems.Lines[i])); } update_tags = false; } private void tagsCollectionToolStripMenuItem_Click(object sender, EventArgs e) { var dlg = new FilterTagsCollection(node_gen, selected_filter_cat); dlg.ShowDialog(); set_node_info_tags(selected_node); fillInTagCategories(); fill_in_filter_items(); if (selected_filter_cat >= 0) { filterCategories.SelectedIndexChanged -= filterCategories_SelectedIndexChanged; filterCategories.SelectedIndices.Add(selected_filter_cat); filterCategories.SelectedIndexChanged += filterCategories_SelectedIndexChanged; } } private void tagCategories_SelectedIndexChanged(object sender, EventArgs e) { if (selected_tag_cat > -1) getTagItems(selected_tag_cat); fillInTagItems(tagCategories.SelectedIndex); selected_tag_cat = tagCategories.SelectedIndex; } private void tagItems_TextChanged(object sender, EventArgs e) { update_tags = true; } //Filters private void fill_in_filter_items() { if (selected_filter_cat == -1) return; filterItems.ItemChecked -= filterItems_ItemChecked; filterItems.Items.Clear(); for (int i = 0; i < node_gen.tag_cats[selected_filter_cat].tags.Count; i++) { filterItems.Items.Add(node_gen.tag_cats[selected_filter_cat].tags[i].name); if (current_filter[selected_filter_cat][i]) filterItems.Items[i].Checked = true; } filterItems.ItemChecked += filterItems_ItemChecked; } private void filterCategories_SelectedIndexChanged(object sender, EventArgs e) { if (filterCategories.SelectedIndices.Count == 0) return; if (selected_filter_cat > -1) { for (int i = 0; i < filterItems.Items.Count; i++) current_filter[selected_filter_cat][i] = filterItems.Items[i].Checked; } selected_filter_cat = filterCategories.SelectedIndices[0]; fill_in_filter_items(); } private void applyFilterForNode(List> filter, node_info node) { nodes_list.SelectedIndexChanged -= nodes_list_SelectedIndexChanged; foreach (var fltr in filter) if (node.tags.Find(x => x.Item1 == fltr.Item1 && x.Item2 == fltr.Item2) == null) { nodes_list.Items.Remove(node); } nodes_list.SelectedIndexChanged += nodes_list_SelectedIndexChanged; } private void applyFilter(List> filter, bool renew) { nodes_list.SelectedIndexChanged -= nodes_list_SelectedIndexChanged; nodes_list.SelectedIndices.Clear(); selected_node = null; selected_node_index = -1; if (renew) reload_nodes(); List to_remove = new List(); foreach (node_info i in nodes_list.Items) { foreach (var fltr in filter) if (i.tags.Find(x => x.Item1 == fltr.Item1 && x.Item2 == fltr.Item2) == null) { to_remove.Add(i); break; } } foreach (var i in to_remove) nodes_list.Items.Remove(i); if (nodes_list.Items.Count > 0) { selected_node = nodes_list.Items[0] as node_info; selected_node_index = 0; set_node_info(nodes_list.Items[0] as node_info); } nodes_list.SelectedIndexChanged += nodes_list_SelectedIndexChanged; } private void applyFilter(Tuple filter, bool renew = false) { var lst = new List>(); lst.Add(filter); applyFilter(lst, renew); } private void applyCurrentFilterForNode(node_info node) { var lst = new List>(); for (int i = 0; i < current_filter.Count; i++) for (int j = 0; j < current_filter[i].Count; j++) if (current_filter[i][j]) lst.Add(new Tuple(i, j)); applyFilterForNode(lst, node); } private void applyCurrentFilter() { is_filter_enabled = false; var lst = new List>(); for (int i = 0; i < current_filter.Count; i++) for (int j = 0; j < current_filter[i].Count; j++) if (current_filter[i][j]) { lst.Add(new Tuple(i, j)); is_filter_enabled = true; } applyFilter(lst, true); } private void filterItems_ItemChecked(object sender, ItemCheckedEventArgs e) { current_filter[selected_filter_cat][e.Item.Index] = e.Item.Checked; if (e.Item.Checked) { applyFilter(new Tuple(selected_filter_cat, e.Item.Index)); is_filter_enabled = true; } else applyCurrentFilter(); } private void resetFilterButton_Click(object sender, EventArgs e) { foreach (var cat in current_filter) for (int i = 0; i < cat.Count; i++) cat[i] = false; for (int i = 0; i < filterItems.Items.Count; i++) { filterItems.Items[i].Checked = false; } is_filter_enabled = false; reload_nodes(); } private void customFilterMode_CheckedChanged(object sender, EventArgs e) { if (nodes_list.SelectedItems.Count != 0) { var add_list = new List(); foreach (var o in nodes_list.SelectedItems) add_list.Add(o); nodes_list.Items.Clear(); nodes_list.Items.AddRange(add_list.ToArray()); nodes_list.SelectedItem = selected_node; selected_node_index = nodes_list.Items.IndexOf(selected_node); is_filter_enabled = true; } } private void saveTempFilter_Click(object sender, EventArgs e) { var dlg = new TagEmForm(node_gen.tag_cats); if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { dlg.categories.Text = dlg.categories.Text.Trim(); dlg.tagName.Text = dlg.tagName.Text.Trim(); if (dlg.tagName.Text != "") { //oh that buggy C#! makes me do this cycle for (int i = 0; i < dlg.categories.Items.Count; i++) if (dlg.categories.Items[i].ToString() == dlg.categories.Text) { dlg.categories.SelectedIndex = i; break; } if (dlg.categories.SelectedIndex < 0) { if (dlg.categories.Text != "") { node_gen.tag_cats.Add(new FilterCategory() { name = dlg.categories.Text }); dlg.categories.Items.Add(dlg.categories.Text); dlg.categories.SelectedIndex = dlg.categories.Items.Count - 1; fillInTagCategories(); if (tagCategories.Items.Count > 0 && tagCategories.SelectedIndex == -1) tagCategories.SelectedIndex = 0; } else return; } if (dlg.categories.SelectedIndex >= 0) { node_gen.new_tag_for_nodes(nodes_list.SelectedItems.Cast(), nodes_list.Items.Count, dlg.categories.SelectedIndex, dlg.tagName.Text); fillInTagCategories(); set_node_info_tags(selected_node); } } } } private void filterPanelToolStripMenuItem_CheckedChanged(object sender, EventArgs e) { panel6.Visible = filterPanelToolStripMenuItem.Checked; if (!panel6.Visible) panel5.Height = mainToolStrip.Height; else panel5.Height = mainToolStrip.Height + filter_panel_height; } private void saveNodeButton_Click(object sender, EventArgs e) { if (creation_mode) { if (node_name.Text != "") { if (!get_node_info(selected_node)) { return; } nodes_list.Items.Add(selected_node); node_gen.add_node(selected_node); get_node_info(selected_node); fill_in_navigation_panel(selected_node); creation_mode = false; } } else synchronize_node(); } private void newToolStripMenuItem_Click(object sender, EventArgs e) { if (CloseCurrentFile() == CloseResult.NotClosed) return; node_gen = null; set_nodes_information(); } private void nodes_list_MouseDown(object sender, MouseEventArgs e) { } private void globalRenamerToolStripMenuItem_Click(object sender, EventArgs e) { new GlobalRenamer(nodes_list, node_gen).ShowDialog(); } private void NavigationPanel_Resize(object sender, EventArgs e) { fill_in_navigation_panel(selected_node); } private void grammarBrowserToolStripMenuItem_Click(object sender, EventArgs e) { List kwords = new List(); foreach (var node in node_gen.all_nodes) kwords.Add(node.ToString()); var dlg = new GrammarBrowser(node_gen.generate_hierarchy(), kwords, selected_node.ToString(), this); if (hb_location.X >= 0) dlg.SetDialogPosition(hb_location); dlg.ShowDialog(); hb_location = dlg.Location; } private void toolStripButtonSaveStore_Click(object sender, EventArgs e) { save_Click(sender, e); if (!Directory.Exists(version_storage)) Directory.CreateDirectory(version_storage); File.Copy(saveFileDialog1.FileName, version_storage + @"\" + Path.GetFileName(saveFileDialog1.FileName) + "__" + DateTime.Now.ToString().Replace(':', '_') + ".nin"); } private void aboutToolStripMenuItem_Click(object sender, EventArgs e) { (new AboutBox()).ShowDialog(); } private void helpToolStripMenuItem_Click(object sender, EventArgs e) { } private void nodes_list_MouseMove(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Left || e.Button == System.Windows.Forms.MouseButtons.Right) { int x = nodes_list.IndexFromPoint(nodes_list.PointToClient(Cursor.Position)); if (x >= 0) { if (Control.ModifierKeys == Keys.Shift) { int old_ind = nodes_list.Items.IndexOf(selected_node); for (int i = Math.Min(old_ind, x); i < Math.Max(old_ind, x); i++) nodes_list.SelectedIndices.Add(i); } else nodes_list.SelectedIndices.Add(x); new_selected_node = (nodes_list.Items[x] as node_info); } } } private void filterAncestors_Click(object sender, EventArgs e) { nodes_list.SelectedIndexChanged -= nodes_list_SelectedIndexChanged; nodes_list.Items.Clear(); node_info base_class = selected_node; while (base_class.base_class != null) { nodes_list.Items.Add(base_class); base_class = base_class.base_class; } nodes_list.Items.Add(base_class); nodes_list.SelectedItem = selected_node; selected_node_index = nodes_list.Items.IndexOf(selected_node); is_filter_enabled = true; nodes_list.SelectedIndexChanged += nodes_list_SelectedIndexChanged; } private void nodes_list_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Down) { var x = nodes_list.Items.IndexOf(selected_node); if (x + 1 < nodes_list.Items.Count) new_selected_node = (nodes_list.Items[x + 1] as node_info); } else if (e.KeyCode == Keys.Up) { var x = nodes_list.Items.IndexOf(selected_node); if (x - 1 >= 0) new_selected_node = (nodes_list.Items[x - 1] as node_info); } } } }