/*Metoda pro tisk obsahu textového pole vyvolána tlačítkem tiskárna, * nikoliv tlačítkem náhled (pracuje s jiným dialogovým oknem)*/ private void doc_PrintPage(object sender, PrintPageEventArgs e) { int x = 10; int y = 0; int charpos = 0; while (charpos < TextBoxInterface.Text.Length) { if (TextBoxInterface.Text[charpos] == '\n') { charpos++; y += 20; x = 10; } else if (TextBoxInterface.Text[charpos] == '\r') { charpos++; } else { TextBoxInterface.Select(charpos, 1); e.Graphics.DrawString(TextBoxInterface.SelectedText, TextBoxInterface.SelectionFont, new SolidBrush(TextBoxInterface.SelectionColor), new PointF(x, y)); x = x + 8; charpos++; } } }
/*Tlačítko zavolá metodu pro vyhledávání témat na anglické wikipedii, * není nutné zadávat do textového pole URL, ani to není možné, * stačí zadat hledaný výraz, daná funkce pak vyhledá danou stránku * na Wikipedii, dle XML ji zformátuje a vrátí do hlavního textového pole * zarovnaný plain text, který je možné dále upravovat*/ private void button2_Click(object sender, EventArgs e) { if (textBox4.Text == "") { DialogResult dialog = MessageBox.Show("Fill your search request", "Continue", MessageBoxButtons.OK, MessageBoxIcon.Error); if (dialog == DialogResult.Yes) { return; } } else { TextBoxInterface.Clear(); WebClient client = new WebClient(); using (Stream stream = client.OpenRead("https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&explaintext=&titles=" + textBox4.Text + "&redirects=true")) using (StreamReader reader = new StreamReader(stream)) { JsonSerializer ser = new JsonSerializer(); Result result = ser.Deserialize <Result>(new JsonTextReader(reader)); foreach (Page page in result.query.pages.Values) { TextBoxInterface.Text = page.extract; if (TextBoxInterface.Text == "") { TextBoxInterface.Text = "Page you are looking for may does not exist.\nCheck correctness of your request."; } } } } }
//Tlačítko pro otevření nového či načtení existujícího souboru// private void openToolStripButton_Click(object sender, EventArgs e) { OpenFileDialog openFile = new OpenFileDialog(); openFile.Title = "Open a file.."; if (openFile.ShowDialog() == DialogResult.OK) { TextBoxInterface.Clear(); using (StreamReader sr = new StreamReader(openFile.FileName)) { TextBoxInterface.Text = sr.ReadToEnd(); sr.Close(); } } }
/*Tlačítko nové stránky. Bez uložení vymaže obsah textového pole, * možná inovace => dialogové okno zdali nechceme nejprve soubor uložit*/ private void newToolStripButton_Click(object sender, EventArgs e) { TextBoxInterface.Clear(); }
/*Následující 4 metody představují tlačítka z rozklikávacího menu * Search. Toto menu obsahuje tlačítka Přesun kurzoru na začátek/konec, * nalezení textového řetězce a funkci pro nalezení všech výskytů slov, * které pak nahradí slovem od uživatele */ private void jumpToTopToolStripMenuItem1_Click(object sender, EventArgs e) { TextBoxInterface.SelectionStart = 0; TextBoxInterface.ScrollToCaret(); }
private void jumpToBottomToolStripMenuItem_Click(object sender, EventArgs e) { TextBoxInterface.SelectionStart = TextBoxInterface.Text.Length; TextBoxInterface.ScrollToCaret(); }
//Metoda pro počítání řádků a znaků na řádce// private void timer1_Tick(object sender, EventArgs e) { line = 1 + TextBoxInterface.GetLineFromCharIndex(TextBoxInterface.GetFirstCharIndexOfCurrentLine()); characters = TextBoxInterface.SelectionStart - TextBoxInterface.GetFirstCharIndexOfCurrentLine(); toolStripStatusLabel1.Text = "line: " + line.ToString() + " | chars on line: " + characters.ToString(); }
/*Tlačítko označí veškerý text v textové poli, * poté jsou možné libovolné operace s označeným textem*/ private void selectAllButton_Click(object sender, EventArgs e) { TextBoxInterface.SelectAll(); }
//Tlačítko dopředné akce// private void RedoButton_Click(object sender, EventArgs e) { TextBoxInterface.Redo(); }
//Po stisku následujícího tlačítka se zkopírovaná hodnota vloží na pozici kurzoru// private void pasteToolStripButton_Click(object sender, EventArgs e) { TextBoxInterface.Paste(); }
//Tlačítko, které zkopíruje označený text, nemaže jej jako cut viz výše// private void copyToolStripButton_Click(object sender, EventArgs e) { TextBoxInterface.Copy(); }