public FastPlate(string plateTitle, int?dfWidth, Rule rule, Hashtable blocks) : this(plateTitle, dfWidth, rule) { if (blocks == null) { return; } var c = 0.0D; foreach (var i in blocks.Keys) { var blkNm = i?.ToString(); if (blkNm == null) { continue; } var blk = new Block { Ruler = Ruler, Title = blkNm }; c += 1.0D; c = Math.Floor(c); Blocks.Add(blk); _blockIdxName.Add(c, blkNm); var innerBlks = blocks[i] as IEnumerable; if (innerBlks == null) { continue; } foreach (var j in innerBlks) { var iBlkNm = j?.ToString(); if (iBlkNm == null) { continue; } var iBlk = new Block { Ruler = Ruler, Title = iBlkNm, StartValue = Ruler.StartValue + Ruler.RuleLineSpacing }; blk.AddInnerBlock(iBlk); c += 0.1D; c = (double)Math.Round((decimal)c, 1); _blockIdxName.Add(c, iBlkNm); } } _lineCounter = Ruler.RuleLineSpacing + 1; }
public void PrintPlateWithInnerPlatesTest() { var ruler = new Rule {StartValue = 950, EndValue = 775}; var egypt = new Block {Ruler = ruler, Title = "Egypt"}; var israel = new Block {Ruler = ruler, Title = "Israel"}; var damascus = new Block {Ruler = ruler, Title = "Damascus"}; var assyria = new Block {Ruler = ruler, Title = "Assyria"}; var northKingdom = new Block {StartValue = 922, EndValue = 775, Ruler = ruler, Title = "Israel"}; var southKingdom = new Block {StartValue = 922, EndValue = 775, Ruler = ruler, Title = "Judea"}; egypt.AddEntry(new Entry {StartValue = 935, Text = "XXII Dyn. 935-725",Location = PrintLocation.Left}); egypt.AddEntry(new Entry { StartValue = 935, EndValue = 914, Text = "Shishak 935-914",Location = PrintLocation.Right}); egypt.AddEntry(new Entry {StartValue = 914, EndValue = 874, Text = "Osorkon I 914-874"}); israel.AddEntry(new Entry {StartValue = 940,Text="Solomon 961-922"}); southKingdom.AddEntry(new Entry {StartValue = 922, Text = "Rehoboam 922-915"}); southKingdom.AddEntry(new Entry {StartValue = 915, Text = "Abijah 915-913"}); northKingdom.AddEntry(new Entry {StartValue = 922, Text = "Jeroboam I 922-901"}); israel.AddInnerBlock(southKingdom); israel.AddInnerBlock(northKingdom); damascus.AddEntry(new Entry {StartValue = 930, Text = "Rezon"}); assyria.AddEntry(new Entry {StartValue = 935, Text = "Asshur-dan II 935-913"}); var testSubject = new Plate() {Name = "Near East", Ruler = ruler}; testSubject.AddBlock(egypt); testSubject.AddBlock(israel); testSubject.AddBlock(damascus); testSubject.AddBlock(assyria); var testResult = testSubject.ToString(); System.Diagnostics.Debug.WriteLine(testResult); }
public void PrintEntriesToCanvasWithInnerBlockTest() { var rule = new Rule() { StartValue = 2100, EndValue = 1500 }; var mesopotamia = new Block() { Ruler = rule, Title = "Mesopotamia" }; mesopotamia.AddEntry(new Entry() { StartValue = 2060, EndValue = 1950, Text = "Ur III" }); var assyria = new Block() { Ruler = rule, Title = "Assyria", StartValue = 1950 }; assyria.AddEntry(new Entry() { StartValue = 1900, Text = "Cappadocian Colonies" }); assyria.AddEntry(new Entry() { StartValue = 1750, Text = "Shamshi-Adad I" }); var mari = new Block() { Ruler = rule, Title = "Mari", StartValue = 1950, EndValue = 1700, Width = 16 }; mari.AddEntry(new Entry() { StartValue = 1750, Text = "The 'Mari Age'" }); var isin = new Block() { Ruler = rule, Title = "Isin", StartValue = 1950, EndValue = 1750, Width = 8 }; var larsa = new Block() { Ruler = rule, Title = "Larsa", StartValue = 1950, EndValue = 1700, Width = 16 }; larsa.AddEntry(new Entry() { StartValue = 1758, Text = "Rim-Sin I" }); var babylon = new Block() { Ruler = rule, Title = "Babylon", StartValue = 1830, EndValue = 1550, Width = 20 }; babylon.AddEntry(new Entry() { StartValue = 1700, Text = "Hammurabi" }); babylon.AddEntry(new Entry() { StartValue = 1630, Text = "Kassite Dyn." }); mesopotamia.AddInnerBlock(assyria); mesopotamia.AddInnerBlock(mari); mesopotamia.AddInnerBlock(isin); mesopotamia.AddInnerBlock(larsa); mesopotamia.AddInnerBlock(babylon); TextCanvas myInnerBlockCanvas = null; if (mesopotamia._innerBlocks.Count > 0) { myInnerBlockCanvas = mesopotamia._innerBlocks[0].PrintEntriesOnCanvas(); System.Diagnostics.Debug.WriteLine(myInnerBlockCanvas); for (var i = 1; i < mesopotamia._innerBlocks.Count; i++) { System.Diagnostics.Debug.WriteLine(myInnerBlockCanvas); myInnerBlockCanvas = myInnerBlockCanvas.Concat(mesopotamia._innerBlocks[i].PrintEntriesOnCanvas(), rule); } } System.Diagnostics.Debug.WriteLine(myInnerBlockCanvas); }
public void PlateSplitBlockTest() { var rule = new Rule() {StartValue = 2050, EndValue = 1500}; var mesopotamia = new Block() {Ruler = rule, Title = "Mesopotamia"}; mesopotamia.AddEntry(new Entry(){StartValue = 2060, EndValue = 1950, Text = "Ur III: ca. 2060-1950"}); var assyria = new Block(){Ruler = rule, StartValue = 1950, EndValue = 1550, Title = "Assyria"}; var babylon = new Block {Ruler = rule, StartValue = 1830, EndValue = 1530, Title = "I Babylon"}; var kassite = new Block {Ruler = rule, StartValue = 1650, EndValue = 1500, Title = "Kassite Dyn."}; mesopotamia.AddInnerBlock(assyria); mesopotamia.AddInnerBlock(babylon); mesopotamia.AddInnerBlock(kassite); mesopotamia.AddArrow(new Arrow(babylon,assyria) {StartValue = 1728,Text = "Hammurabi"}); var hittites = new Block {Ruler = rule, Title = "Hittites"}; var palestine = new Block() {Ruler = rule, Title = "Palestine"}; var egypt = new Block() {Ruler = rule, Title = "Egypt"}; var plate = new Plate() {Name = "Near East 2050-1500", Ruler = rule}; plate.AddBlock(mesopotamia); plate.AddBlock(hittites); plate.AddBlock(palestine); plate.AddBlock(egypt); var testResult = plate.ToString(); System.Diagnostics.Debug.WriteLine(testResult); }
public void PlateConcatAllBlocksTest() { var ruler = new Rule { StartValue = 950, EndValue = 775 }; var egypt = new Block { Ruler = ruler, Title = "Egypt" }; var israel = new Block { Ruler = ruler, Title = "Israel" }; var damascus = new Block { Ruler = ruler, Title = "Damascus" }; var assyria = new Block { Ruler = ruler, Title = "Assyria" }; var northKingdom = new Block { StartValue = 922, EndValue = 775, Ruler = ruler, Title = "Israel" }; var southKingdom = new Block { StartValue = 922, EndValue = 775, Ruler = ruler, Title = "Judea" }; egypt.AddEntry(new Entry { StartValue = 935, Text = "XXII Dyn. 935-725", Location = PrintLocation.Left }); egypt.AddEntry(new Entry { StartValue = 935, EndValue = 914, Text = "Shishak 935-914", Location = PrintLocation.Right }); egypt.AddEntry(new Entry { StartValue = 914, EndValue = 874, Text = "Osorkon I 914-874" }); israel.AddEntry(new Entry { StartValue = 940, Text = "Solomon 961-922" }); southKingdom.AddEntry(new Entry { StartValue = 922, Text = "Rehoboam 922-915" }); southKingdom.AddEntry(new Entry { StartValue = 915, Text = "Abijah 915-913" }); northKingdom.AddEntry(new Entry { StartValue = 922, Text = "Jeroboam I 922-901" }); israel.AddInnerBlock(southKingdom); israel.AddInnerBlock(northKingdom); damascus.AddEntry(new Entry { StartValue = 930, Text = "Rezon" }); assyria.AddEntry(new Entry { StartValue = 935, Text = "Asshur-dan II 935-913" }); var testSubject = new Plate() { Name = "Near East", Ruler = ruler }; testSubject.AddBlock(egypt); testSubject.AddBlock(israel); testSubject.AddBlock(damascus); testSubject.AddBlock(assyria); var testResult = testSubject.ToTextCanvas(); Assert.IsNotNull(testResult); Assert.AreNotEqual(0, testResult.Items); foreach (var item in testResult.Items) { var itemText = new string(item.Text.ToArray()); foreach (var span in item.Ranges) { var subText = itemText.Substring(span.StartIndex, span.Length); System.Diagnostics.Debug.WriteLine("{0} {1} {2} {3} {4} '{5}'",item.Index, item.HashMarkValue,span.Id,span.StartIndex,span.Length, subText); } } }
public Plate CE1700to1788() { var rule = new Rule {StartValue = 1700, EndValue = 1790, RuleLineSpacing = 7}; var amer = new Block {Ruler = rule, Title = "Americas"}; var col = new Block {StartValue = 1703, EndValue = 1783, Title = "Colonies", Ruler = rule}; col.AddEntry(1771, "Boston Massacre(1770)", PrintLocation.Left); col.AddEntry(1703, "Yale College (1700)"); col.AddEntry(1727, "[Bering] Bering straight(1728)"); col.AddEntry(1739, "Stono Rebellion(1739)"); col.AddEntry(1730, "Baltimore MA(1730)"); col.AddEntry(1764, "Mason Dixon survey(1764)"); col.AddEntry(1769, "[D.Boone]-Kentucky(1769)"); col.AddEntry(1773, "Boston Tea Party(1773)"); col.AddEntry(1704, 1713, "Queen Anne's War"); col.AddEntry(1754, 1763, "French Indian War"); col.AddEntry(1775, 1783, "American Rev.(1775-1783)", PrintLocation.Left); col.AddEntry(1777, "NY occupied(1776)"); col.AddEntry(1778, "Savannah occupied(1778)"); col.AddEntry(1780, "Charleston occupied(1780)"); var que = new Block {StartValue = 1703, EndValue = 1763, Title = "New France", Ruler = rule, Width = 22}; que.AddEntry(1703, "Fr.settle Mobile AL"); que.AddEntry(1718, "New Orleans LA(1718)"); var usa = new Block {StartValue = 1775, Title = "United States", Ruler = rule}; usa.AddEntry(1776, "Lafayette in PA(1777)"); usa.AddEntry(1781, "Cornwallis surrender(1781)"); usa.AddEntry(1783, "Peace of Paris(1783)"); usa.AddEntry(1787, "U.S.Constitution(1787)"); amer.AddInnerBlock(col); amer.AddInnerBlock(usa); amer.AddInnerBlock(que); amer.AddArrow(new Arrow(que, col) {StartValue = 1706, ArrowTail = "."}); amer.AddArrow(new Arrow(col, que) {StartValue = 1755, Text = "B. of the Monongahela"}); amer.AddArrow(new Arrow(que, col) {StartValue = 1757, Text = "massacre @ F.William Henry"}); var engd = new Block {Ruler = rule, Title = "United Kingdom"}; engd.AddEntry(1704, "[Anne 1702-1714]", PrintLocation.Left); engd.AddEntry(1720, "[George I 1714-1727]", PrintLocation.Left); engd.AddEntry(1727, "[George II 1727-1760]", PrintLocation.Left); engd.AddEntry(1730, "first railroad(1730)"); engd.AddEntry(1739, "Wesley/Whitefield[Methodism]"); engd.AddEntry(1745, "Jacobite Rebellion(1745)"); engd.AddEntry(1760, "[George III 1760-1820]", PrintLocation.Left); engd.AddEntry(1766, "H.Cavendish[hydrogen](1766)", PrintLocation.Right); engd.AddEntry(1776, "'Wealth of Nations' A.Smith(1776)", PrintLocation.Right); engd.AddEntry(1777, " 'Rise & Fall..Roman Empire'Gibbon(1777)", PrintLocation.Right); engd.AddEntry(1781, "1st Sunday-school(R.Raikes)(1781)", PrintLocation.Right); engd.AddEntry(1769, "J.Watt[steam engine](1769)", PrintLocation.Right); engd.AddEntry(1764, "J.Hargreaves[spinning jenny](1764)", PrintLocation.Right); engd.AddEntry(1782, "Lord North resigns as PM(1782)"); engd.AddEntry(1787, "Australia penal settlement(1788)"); engd.AddEntry(1789, "[Cook]Hawaiian Islands(1788)"); engd.AddEntry(1702, 1714, "Stuart(restored)", PrintLocation.Left); engd.AddEntry(1715, 1800, "Hanover", PrintLocation.Left); var fr = new Block {Ruler = rule, Title = "France"}; fr.AddEntry(1601, "[Louis XIV 1643-1715]", PrintLocation.Left); fr.AddEntry(1715, "[Louis XV 1715-1774]", PrintLocation.Left); fr.AddEntry(1774, "[Louis XVI 1774-1792]", PrintLocation.Left); fr.AddEntry(1720, "France bankrupt(1721)"); fr.AddEntry(1748, "'The Spirit of Laws' Montesquieu(1748)", PrintLocation.Right); fr.AddEntry(1761, "'Social Contract' Rousseau(1761)", PrintLocation.Right); fr.AddEntry(1756, "Diplomatic Revolution(1756)(c.)"); fr.AddEntry(1783, "1st hot-air ballon(1783)", PrintLocation.Right); fr.AddEntry(1702, 1790, "Capetian[Bourbon]", PrintLocation.Left); fr.AddEntry(1701, 1714, "War of Spanish Succ.(1701-1714)"); var de = new Block {Ruler = rule, Title = "Prussia"}; de.AddEntry(1702, "[Fredrick I 1701-1713]", PrintLocation.Left); de.AddEntry(1713, "[Fredrick William I 1713-1740]", PrintLocation.Left); de.AddEntry(1740, "[Fredrick the Great 1740-1786]", PrintLocation.Left); de.AddEntry(1786, "[Fredrick William II 1786-1797]", PrintLocation.Left); de.AddEntry(1781, "'Critique of Pure Reason' E.Kant(1781)", PrintLocation.Right); de.AddEntry(1715, "Fahrenheit[thermometer](1714)"); de.AddEntry(1730, "'Toccata Fugue' Bach(~1730s)"); de.AddEntry(1754, 1763, "Seven's Year War"); var aus = new Block {Ruler = rule, Title = "Austrian Empire"}; aus.AddEntry(1701, "[Leopold I 1640-1705]", PrintLocation.Left); aus.AddEntry(1705, "[Joseph I 1705-1711]", PrintLocation.Left); aus.AddEntry(1711, "[Charles III 1711-1740]", PrintLocation.Left); aus.AddEntry(1739, "[Maria Theresa 1740-1780]", PrintLocation.Left); aus.AddEntry(1780, "[Joseph II 1780-1790]", PrintLocation.Left); aus.AddEntry(1783, "Mozart in Vienna", PrintLocation.Right); aus.AddEntry(1741, 1748, "War of Austrian Succ.(1740-1748)"); var ott = new Block {Ruler = rule, Title = "Ottoman Empire"}; ott.AddEntry(1710, "[Ahmed III 1703-1730]", PrintLocation.Left); ott.AddEntry(1730, "[Mahmud I 1730-1754]", PrintLocation.Left); ott.AddEntry(1754, "[Osman III 1754-1757]", PrintLocation.Left); ott.AddEntry(1757, "[Mustafa III 1757-1774]", PrintLocation.Left); ott.AddEntry(1774, "[Abdulhamid I 1774-1789]", PrintLocation.Left); ott.AddEntry(1789, "[Selim III 1789-1807]", PrintLocation.Left); var rus = new Block {Ruler = rule, Title = "Imperial Russia", StartValue = 1721}; rus.AddEntry(1725, "[Peter the Great 1695-1725]"); rus.AddEntry(1727, 1760, "[internal intrigue]"); rus.AddEntry(1762, "[Catherine theGreat 1762-1796]"); rus.AddEntry(1783, "(+)Crimea(1783)"); rus.AddEntry(1768, 1774, "1st Russio-Turkish War", PrintLocation.Right); var plate = new Plate {Ruler = rule, Name = "Early Modern Age(2)"}; plate.AddBlock(amer); plate.AddBlock(engd); plate.AddBlock(fr); plate.AddBlock(de); plate.AddBlock(aus); plate.AddBlock(ott); plate.AddBlock(rus); plate.AddArrow(new Arrow(aus, fr) {StartValue = 1704, Text = "B. of Blenheim(1704)"}); plate.AddArrow(new Arrow(fr, de) {StartValue = 1706, Text = "B. of Ramilies(1706)"}); plate.AddArrow(new Arrow(fr, de) {StartValue = 1708, Text = "B. of Oudenarde(1708)"}); plate.AddArrow(new Arrow(engd, fr) {StartValue = 1709, Text = "B. of Malpaquet(1709)"}); plate.AddArrow(new Arrow(aus, ott) {StartValue = 1717, Text = "B. of Belgrad(1717)"}); plate.AddArrow(new Arrow(de, aus) {StartValue = 1740, Text = "invasion of Silesia(1740)"}); plate.AddArrow(new Arrow(engd, fr) {StartValue = 1743, Text = "B. of Dettingen(1743)(e.)"}); plate.AddArrow(new Arrow(de, aus) {StartValue = 1757, Text = "B. of Prague(1757)"}); plate.AddArrow(new Arrow(rus, ott) {StartValue = 1770, Text = "B.of Chesma & Kagus(1770)"}); plate.AddArrow(new Arrow(engd, aus) { StartValue = 1714, Text = "Peace of Ulrecht(1714)(a.)", ArrowTail = "[..........", FromLeftToRightArrowHead = "......]", }); plate.AddArrow(new Arrow(aus, de) { StartValue = 1748, Text = "Treaty of Aix-la-Chapelle(1748)", ArrowTail = "........]", FromRightToLeftArrowHead = "[.....", }); plate.AddArrow(new Arrow(engd, fr) { StartValue = 1763, Text = "Treaty of Paris(1763)(b.)", ArrowTail = "[..........", FromLeftToRightArrowHead = "......]", }); plate.AddArrow(new Arrow(de, aus) { StartValue = 1788, Text = "War of Bavarian Succ.(1778\\79)", ArrowTail = "[.........", FromLeftToRightArrowHead = "]", }); plate.AddArrow(new Arrow(engd, amer) { StartValue = 1771, Text = "B. of the Alamance(1771)", FromRightToLeftArrowHead = "<..............................." }); plate.AddArrow(new Arrow(engd, amer) { StartValue = 1775, Text = "B. of Lexington(1775)", FromRightToLeftArrowHead = "<........................", ArrowTail = "." }); plate.AddArrow(new Arrow(engd, amer) { StartValue = 1777, Text = "B. at Trenton(1777)", FromRightToLeftArrowHead = "<........................", ArrowTail = "." }); plate.Notes.Add("(a.)marks the end of Wars of Spanish Succession"); plate.Notes.Add("(b.)British supremacy in Canada and India"); plate.Notes.Add("(c.)England allies with Prussia - Austria with France."); plate.Notes.Add("(d.)start of Wars of Austrian Succ."); plate.Notes.Add("(e.)fought on German soil"); return plate; }
public Plate CE1700to1788() { var rule = new Rule { StartValue = 1700, EndValue = 1790, RuleLineSpacing = 7 }; var amer = new Block { Ruler = rule, Title = "Americas" }; var col = new Block { StartValue = 1703, EndValue = 1783, Title = "Colonies", Ruler = rule }; col.AddEntry(1771, "Boston Massacre(1770)", PrintLocation.Left); col.AddEntry(1703, "Yale College (1700)"); col.AddEntry(new ExplorerEntry("Bering", "Bering straight", 1728) { StartValue = 1727 }); col.AddEntry(1739, "Stono Rebellion(1739)"); col.AddEntry(1730, "Baltimore MA(1730)"); col.AddEntry(1764, "Mason Dixon survey(1764)"); col.AddEntry(new ExplorerEntry("D.Boone", "Kentucky", 1769)); col.AddEntry(1773, "Boston Tea Party(1773)"); col.AddEntry(1704, 1713, "Queen Anne's War"); col.AddEntry(1754, 1763, "French Indian War"); col.AddEntry(1775, 1783, "American Rev.(1775-1783)", PrintLocation.Left); col.AddEntry(1777, "NY occupied(1776)"); col.AddEntry(1778, "Savannah occupied(1778)"); col.AddEntry(1780, "Charleston occupied(1780)"); var que = new Block { StartValue = 1703, EndValue = 1763, Title = "New France", Ruler = rule, Width = 22 }; que.AddEntry(1703, "Fr.settle Mobile AL"); que.AddEntry(1718, "New Orleans LA(1718)"); var usa = new Block { StartValue = 1775, Title = "United States", Ruler = rule }; usa.AddEntry(1776, "Lafayette in PA(1777)"); usa.AddEntry(1781, "Cornwallis surrender(1781)"); usa.AddEntry(1783, "Peace of Paris(1783)"); usa.AddEntry(new LiteraryWorkEntry("U.S.Constitution", "", 1789) { StartValue = 1787 }); var engd = new Block { Ruler = rule, Title = "United Kingdom" }; engd.AddEntry(new LeaderEntry("Anne", new int?[, ] { { 1702, 1714 } }) { StartValue = 1704 }); engd.AddEntry(new LeaderEntry("George I", new int?[, ] { { 1714, 1727 } }) { StartValue = 1720 }); engd.AddEntry(new LeaderEntry("George II", new int?[, ] { { 1727, 1760 } })); engd.AddEntry(new ScienceAdvEntry("railroad", "", 1730)); engd.AddEntry(1739, "Wesley/Whitefield[Methodism]"); engd.AddEntry(1745, "Jacobite Rebellion(1745)"); engd.AddEntry(new LeaderEntry("George III", new int?[, ] { { 1760, 1820 } })); engd.AddEntry(new ScienceAdvEntry("hydrogen", "H.Cavendish", 1766)); engd.AddEntry(new LiteraryWorkEntry("Wealth of Nations", "A.Smith", 1776) { Location = PrintLocation.Right }); engd.AddEntry(new LiteraryWorkEntry("Rise & Fall..Roman Empire", "Gibbon", 1777) { Location = PrintLocation.Right }); engd.AddEntry(1781, "1st Sunday-school(R.Raikes)(1781)", PrintLocation.Right); engd.AddEntry(new ScienceAdvEntry("steam engine", "J.Watt", 1769)); engd.AddEntry(new ScienceAdvEntry("spinning jenny", "J.Hargreaves", 1764) { Location = PrintLocation.Right }); engd.AddEntry(1782, "Lord North resigns as PM(1782)"); engd.AddEntry(1787, "Australia penal settlement(1788)"); engd.AddEntry(new ExplorerEntry("Cook", "Hawaiian Islands", 1788) { StartValue = 1789 }); engd.AddEntry(1702, 1714, "Stuart(restored)", PrintLocation.Left); engd.AddEntry(1715, 1800, "Hanover", PrintLocation.Left); var fr = new Block { Ruler = rule, Title = "France" }; fr.AddEntry(new LeaderEntry("Louis XIV", new int?[, ] { { null, 1715 } }) { StartValue = 1704 }); fr.AddEntry(new LeaderEntry("Louis XV", new int?[, ] { { 1715, 1774 } }) { StartValue = 1715 }); fr.AddEntry(new LeaderEntry("Louis XVI", new int?[, ] { { 1774, 1792 } }) { StartValue = 1774 }); fr.AddEntry(1720, "France bankrupt(1721)"); fr.AddEntry(new LiteraryWorkEntry("The Spirit of Laws", "Montesquieu", 1748) { Location = PrintLocation.Right }); fr.AddEntry(new LiteraryWorkEntry("Social Contract", "Rousseau", 1761) { Location = PrintLocation.Right }); fr.AddEntry(1756, "Diplomatic Revolution(1756)(c.)"); fr.AddEntry(new ScienceAdvEntry("hot-air ballon", "", 1783) { Location = PrintLocation.Right }); fr.AddEntry(1702, 1790, "Capetian[Bourbon]", PrintLocation.Left); fr.AddEntry(1701, 1714, "War of Spanish Succ.(1701-1714)"); var de = new Block { Ruler = rule, Title = "Prussia" }; de.AddEntry(new LeaderEntry("Fredrick I", new int?[, ] { { 1701, 1713 } }) { StartValue = 1702 }); de.AddEntry(new LeaderEntry("Fredrick William I", new int?[, ] { { 1713, 1740 } })); de.AddEntry(new LeaderEntry("Fredrick the Great", new int?[, ] { { 1740, 1786 } })); de.AddEntry(new LeaderEntry("Fredrick William II", new int?[, ] { { 1786, 1797 } })); de.AddEntry(new LiteraryWorkEntry("Critique Pure Reason", "E.Kant", 1781)); de.AddEntry(new ScienceAdvEntry("thermometer", "Fahrenheit", 1714) { StartValue = 1715 }); de.AddEntry(1730, "'Toccata Fugue' Bach(~1730s)"); de.AddEntry(1754, 1763, "Seven's Year War"); var aus = new Block { Ruler = rule, Title = "Austrian Empire" }; aus.AddEntry(new LeaderEntry("Leopold I", new int?[, ] { { 1640, 1705 } }) { StartValue = 1701 }); aus.AddEntry(new LeaderEntry("Joseph I", new int?[, ] { { 1705, 1711 } })); aus.AddEntry(new LeaderEntry("Charles III", new int?[, ] { { 1711, 1740 } })); aus.AddEntry(new LeaderEntry("Maria Theresa", new int?[, ] { { 1740, 1780 } }) { StartValue = 1739 }); aus.AddEntry(new LeaderEntry("Joseph II", new int?[, ] { { 1780, 1790 } })); aus.AddEntry(1783, "Mozart in Vienna", PrintLocation.Right); aus.AddEntry(1741, 1748, "War of Austrian Succ.(1740-1748)"); var ott = new Block { Ruler = rule, Title = "Ottoman Empire" }; ott.AddEntry(new LeaderEntry("Ahmed III", new int?[, ] { { 1703, 1730 } }) { StartValue = 1710 }); ott.AddEntry(new LeaderEntry("Mahmud I", new int?[, ] { { 1730, 1754 } })); ott.AddEntry(new LeaderEntry("Osman III", new int?[, ] { { 1754, 1757 } })); ott.AddEntry(new LeaderEntry("Mustafa III", new int?[, ] { { 1757, 1774 } })); ott.AddEntry(new LeaderEntry("Abdulhamid I", new int?[, ] { { 1774, 1789 } })); ott.AddEntry(new LeaderEntry("Selim III", new int?[, ] { { 1789, 1807 } })); var rus = new Block { Ruler = rule, Title = "Imperial Russia", StartValue = 1721 }; rus.AddEntry(new LeaderEntry("Peter the Great", new int?[, ] { { 1695, 1725 } }) { StartValue = 1725 }); rus.AddEntry(1727, 1760, "[internal intrigue]"); rus.AddEntry(new LeaderEntry("[Catherine the Great", new int?[, ] { { 1762, 1796 } })); rus.AddEntry(new TerritoryEntry("Crimea") { StartValue = 1783 }); rus.AddEntry(1768, 1774, "1st Russio-Turkish War", PrintLocation.Right); amer.AddInnerBlock(col); amer.AddInnerBlock(usa); amer.AddInnerBlock(que); amer.AddArrow(new Arrow(que, col) { StartValue = 1706, ArrowTail = ".." }); amer.AddArrow(new Arrow(col, que) { StartValue = 1755, Text = "B. of the Monongahela", ArrowTail = ".." }); amer.AddArrow(new Arrow(que, col) { StartValue = 1757, Text = "massacre @ F.William Henry", ArrowTail = ".." }); var plate = new Plate { Ruler = rule, Name = "Early Modern Age" }; plate.AddBlock(amer); plate.AddBlock(engd); plate.AddBlock(fr); plate.AddBlock(de); plate.AddBlock(aus); plate.AddBlock(ott); plate.AddBlock(rus); plate.FileName = "16_CE1700_1788"; plate.AddArrow(new Arrow(aus, fr) { StartValue = 1704, Text = "B. of Blenheim(1704)" }); plate.AddArrow(new Arrow(fr, de) { StartValue = 1706, Text = "B. of Ramilies(1706)" }); plate.AddArrow(new Arrow(fr, de) { StartValue = 1708, Text = "B. of Oudenarde(1708)" }); plate.AddArrow(new Arrow(engd, fr) { StartValue = 1709, Text = "B. of Malpaquet(1709)" }); plate.AddArrow(new Arrow(aus, ott) { StartValue = 1717, Text = "B. of Belgrad(1717)" }); plate.AddArrow(new Arrow(de, aus) { StartValue = 1740, Text = "invasion of Silesia(1740)" }); plate.AddArrow(new Arrow(engd, fr) { StartValue = 1743, Text = "B. of Dettingen(1743)(e.)" }); plate.AddArrow(new Arrow(de, aus) { StartValue = 1757, Text = "B. of Prague(1757)" }); plate.AddArrow(new Arrow(rus, ott) { StartValue = 1770, Text = "B.of Chesma & Kagus(1770)" }); plate.AddArrow(new Arrow(engd, aus) { StartValue = 1714, Text = "Peace of Ulrecht(1714)(a.)", ArrowTail = "[..", FromLeftToRightArrowHead = "..]", }); plate.AddArrow(new Arrow(aus, de) { StartValue = 1748, Text = "Treaty of Aix-la-Chapelle(1748)", ArrowTail = "..]", FromRightToLeftArrowHead = "[..", }); plate.AddArrow(new Arrow(engd, fr) { StartValue = 1763, Text = "Treaty of Paris(1763)(b.)", ArrowTail = "[..", FromLeftToRightArrowHead = "..]", }); plate.AddArrow(new Arrow(de, aus) { StartValue = 1788, Text = "War of Bavarian Succ.(1778\\79)", ArrowTail = "[..", FromLeftToRightArrowHead = "..]", }); plate.AddArrow(new Arrow(engd, usa) { StartValue = 1771, Text = "B. of the Alamance(1771)" }); plate.AddArrow(new Arrow(engd, usa) { StartValue = 1775, Text = "B. of Lexington(1775)", }); plate.AddArrow(new Arrow(engd, usa) { StartValue = 1777, Text = "B. at Trenton(1777)", }); plate.Notes.Add("(a.)marks the end of Wars of Spanish Succession"); plate.Notes.Add("(b.)British supremacy in Canada and India"); plate.Notes.Add("(c.)England allies with Prussia - Austria with France."); plate.Notes.Add("(d.)start of Wars of Austrian Succ."); plate.Notes.Add("(e.)fought on German soil"); return(plate); }